Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to migrate Delphi or clone Delphi registry settings?

Tags:

delphi

I have two PCs both with XE2. I thought that I had installed identically on both but have problems installing 3rd party packages on one while the other is just fine.

I want the same on both anyway. The easist would probably just to "migrate" the working set-up by moving in into my Dropbox folder. Can I do that? If so, how?

If not, can I (easilly) backup my registry settings on one machine and then import them on the other?

I suppose I could just sort out the problem on the one PC, but am not having much luck so far. I would rather invest the time in only having one Delphi setup. And since I am moving lots of other stuff to DropBox anyway ...

like image 441
Mawg says reinstate Monica Avatar asked Feb 04 '12 10:02

Mawg says reinstate Monica


4 Answers

The tool for this is now built into Delphi XE8 and higher.

It's found here:
C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\migrationtool.exe

Online documentation:

http://docwiki.embarcadero.com/RADStudio/Rio/en/Settings_Migration_Tool

like image 154
Warren P Avatar answered Nov 18 '22 15:11

Warren P


Most of my development is hobby stuff or wannabe releases. Instead of dying trying to move my XE2 Pro from my Dell Inspiron N7110 Win 7 machine to my new Win 10 SSD machine, I'm seriously thinking of switching to Lazarus. I've used Lazarus 2.x with Indy 10, ZeosLib, and Firebird and successfully created a working distributed internet system. I also created Lazarus version of my XE2 Blackjack program. When compared to XE2, Lazarus (IMO) has only two weakness and neither are deal breakers for me. BTW, I have successfully duplicated Lazarus (with all installed components) from one machine to another simply by copying and pasting the Lazarus directory and it works. Try that with Delphi. Sam

like image 22
OldManSam Avatar answered Nov 18 '22 15:11

OldManSam


Install CnPack wizards from http://www.cnpack.org

From the CnPack toolbar select IDE Config Backup/Restore (image below) and save this file somewhere safe

IDE Config Backup/Restore

Copy the components to the second delphi machine . Keep the exact same directory structure.

I store my components as follows this helps backing up, moving etc., but you can use your own structure

D:\components_bds\DCU

D:\components_bds\BPL

D:\components_bds\ComponentsThemselves

Use the restore config file from CnPack to restore your components on the new machine

This is also useful if your testing components that you plan to remove later and keeping a backup of your installation incase something goes wrong you can save time with new delphi installation if hard drive dies. Keep a copy on flashdrive or somewhere safe

You may compare/diff the config file created by cnPack using a tool like Beyond Compare and see what the differences are to find out why third party components give problems on one of the machines. It may be a Delphi registry/installation problem or a problem in the paths of the thirdparty components. Components need to be installed in an order perhaps it did not find the needed dcu or dll it depends on.

like image 10
ibandyop Avatar answered Nov 18 '22 14:11

ibandyop


I don't know of any way to do so with DropBox. Here's an old post I made (related to Delphi 7, but with correction of registry keys still applicable) in the CodeGear newsgroups; hopefully it will help.

(It probably goes without saying, but back up the existing registry settings on the destination machine before starting by using RegEdit and exporting them, just in case. You'll at least be able to get back to the point you're at now if something goes wrong by deleting the imported entries and then importing the saved ones.)

You can't, without some difficulty anyway. (Especially if you have third party components installed, as they may have placed files in the %SYSTEM% folder you may not know about.)

You may be able to (for going from the old computer to the new computer running the same exact version of Windows!) by exporting the registry keys under HKCU\Software\Embarcadero and HKLM\Software\Embarcadero from the old machine, and then after installing Delphi on the new machine (in the exact same folder location) importing that registry file.

Many of the compiler, linker, and other settings are configured on a per-project basis, and should transfer over when you move your source code to the new machine.

Third-party components are a problem, as I mentioned above. You may be able to get away with using the registry export/import if you copy each third-party component set from the old computer into exactly the same location on the new machine before importing the registry file. You'll probably have to track down some .BPL files that end up in the $(BDS)\Bin and possibly other folders under the $(BDS) tree; the IDE will tell you about missing stuff when you try and start it. Make sure you answer "Yes " when asked if you want to try and load it again next time!

like image 2
Ken White Avatar answered Nov 18 '22 14:11

Ken White