Jump to content
Jim McKeeth

What is your Update Process?

Recommended Posts

With 12.2 Patch 1 just dropping, we've all spent some time updating. I have a process for updating, but I'm always curious what everyone's process is. I'll share mine:

 

  1. Ideally I have a complete backup of my system
  2. Backup my activation/license files: "C:\ProgramData\Embarcadero" (I just zip files and folders including hidden)
    • Your activation should still work after a recovery if your computer name doesn't change
  3. Backup settings with MigrationTool  "C:\Program Files (x86)\Embarcadero\Studio\23.0\bin\migrationtool.exe"
       image.png
    • I used to always export the registry too, but haven't that in a while. Might still be useful.
    • Computer\HKEY_CURRENT_USER\Software\Embarcadero\BDS\23.0
  4. Manually backup GetIt Packages via GetItCmd (ran from the RAD Studio Command Prompt):
    getitcmd -l= -f=installed >getitpkgs.txt
  5. Uninstall all the GetIt packages (Parnassus seems to be the most likely to cause trouble, but FMXLinux has hit me too, so I just uninstall them all)
    • Get the packages names from the manual backup 
      getitcmd -u=FmxLinux-12-1.78;ParnassusCoreEditor-12-1.6.4.1;CodeSite-5.4.4;AWSSDKforDelphi-12

       

  6. Start the installation
    1. Let it automatically uninstall, keeping the settings (the default)
    2. Before it starts the install I manually delete the CatalogRepository folders
      • C:\Users\jim\Documents\Embarcadero\Studio\23.0\CatalogRepository
      • C:\Users\Public\Documents\Embarcadero\Studio\23.0\CatalogRepository
  7. Manually reinstall the GetIt packages
    getitcmd -i=FmxLinux-12-1.78;ParnassusCoreEditor-12-1.6.4.1;CodeSite-5.4.4;AWSSDKforDelphi-12

     

  8. The MigrationTool doesn't seem to like restoring to the same version it was backed up from, which is frustrating, but maybe I'm missing something. When I restore from a backup of 12.x then 12.x is missing from the dropdown list. I've never had to use it, but in theory I figure I could edit the backup file to make it work if worse comes to worse.   

 

image.png

Edited by Jim McKeeth
  • Like 5

Share this post


Link to post

Usually I make a backup of FDConnectionDefs.ini and restore it after updating. After my updates in the last years there was always a default FDConnectionDefs.ini without the Connections I added before.
Since this file is shared, even an existing D11 on the same machine does suffer from updating D12 in this case. In general I do not understand why the file is touched anyways - would be a great option in the update-options dialog to ask/inform customer about this overwriting of the file...

  • Like 1

Share this post


Link to post
4 hours ago, Jim McKeeth said:
  1. Manually reinstall the GetIt packages
    
    getitcmd -i=FmxLinux-12-1.78;ParnassusCoreEditor-12-1.6.4.1;CodeSite-5.4.4;AWSSDKforDelphi-12

     

Dunno (first time heard about GetIT command line client), but would be nice be able to use wildards:

getitcmd -i=FmxLinux*;ParnassusCoreEditor*;CodeSite*;AWSSDKforDelphi*

or even:

getitcmd -i=FmxLinux*;*Parnassus*;CodeSite*;AWSSDKforDelphi*

PS.
  GetIT Seems to be down... Are the GetIT based installer and ISO installer compatible with each other. At least they used not to be??

Edited by Tommi Prami

Share this post


Link to post

I have very few packages (The Parnassus debacles, FastReports, FMXLinux) and a couple of non-packaged (TMS VCL UI Pack, EurekaLog), so I usually just do it manually.

 

As for FD connections, I have my own wrapper lib that gets the connection points from configs per app (which can be retrieved from wherever I want), 

Share this post


Link to post

I usually don't prepare anything. I just run the update installer and expect it to simply work (which it mostly does). 

Having said that, I don't use GetIt to install anything apart from patches and I always compile components and - if possible - plugins from source, so the possibilities for the installer to mess up are limited. Also, I am not using the current Delphi version for production work (apart from the obvious maintenance for GExperts and a few other version specific tools), so if an update goes wrong, it won't be a catastrophe, unless it breaks an older Delphi version too.

  • Like 2

Share this post


Link to post

I always do a clean install. I never used migration tools 'cause heavy issues in the far past.

 

FIrst thing is backup the "Styles" and "Style Template" folders.

 

Uninstall every getit packages (really fews).

After I have disinstalled RAD STUDIO, I do those steps:

 

1) Delete the Windows registry (and all subfolders of course):

  • HKEY_CURRENT_USER\Software\Embarcadero
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Embarcadero

2) Delete the folders (and subfolders) of my disk (YOURACCOUNTNAME is the name of my account):

  • C:\Program Files (x86)\Embarcadero
  • C:\Users\YOURACCOUNTNAME\AppData\LocalEmbarcadero
  • C:\Users\YOURACCOUNTNAME\AppData\Roaming\Embarcadero
  • C:\Users\Public\Documents\Embarcadero\Studio\23.0\Bpl
  • C:\Users\Public\Documents\Embarcadero\Studio\23.0\Dcp

I left this path without delete anything, 'cause normally have no relevants for issues (only one time this locked an installation, I had to delete it to continue).

  • C:\ProgramData\Embarcadero
Edited by DelphiUdIT
  • Like 1

Share this post


Link to post

My update/upgrade process tends to be more and more complicated every year.
This is much more enhanced right now:
https://en.delphipraxis.net/topic/1336-fmx-crossplatform-best-practices-upgrading-1031-to-1032/?tab=comments#comment-11214

In short I would say, to be stable in FMX cross-platform:
- Use VM, backup VM
- Clean VM, remove any part of IDE (means also cleanup certain folders after uninstall, to remove any missing items), Interbase, SDK's, JavaJRE, ...

- Clean install IDE

- Check & set paths

- Check & set environment variables
- Setup IDE, but mainly keep original settings as-is

- Install used components & experts

- Add SDKs in SdkManager & Update local cache

- Create empty projects, with default settings, to check for any changes in .dproj, Android.template.xml, iOS.plist, etc.
- Duplicate any projects .dproj into new version folder (! so not overwriting the former version)

- Open .dproj w/ IDE and compare for changes and compare with new, empty project, for added or changed items

- Open UnitTest, check for failures
- Open main libraries, install & test
- Open project 1, Android update libraries, test ....





 

Edited by Rollo62

Share this post


Link to post
9 hours ago, Tommi Prami said:

  GetIT Seems to be down... Are the GetIT based installer and ISO installer compatible with each other. At least they used not to be??

Yes they are @Tommi Prami. I forget what version the incompatibility was fixed, but the installer still says they aren't compatible, but I've successfully switched during an update.

  • Like 1

Share this post


Link to post

I had to do a complete reinstall.

 

Be careful when installing third-party components. I have had problems with TChart Pro, Devart, DevExpress, Fastreport.

 

After installing TChart Pro 2024.41, I get the following messages when starting Delphi. I think I have to wait for a new version of TChart.

 

image.png.a0e37b5b369444c339253d115547f5a0.png

 

I also reinstalled the PAServer on my Mac mini with the latest OS and XCode, but when I started the PAServer, I received a message that the installation was defective.

Share this post


Link to post

Here's my new upgrade process after having so many problems in the past:

  • Disable User Access notifications: I do this temporarily to speed up the process.
  • Uninstall all GetIt Packages: Run AutoGetIt, check "Installed Only" then "Refresh Package List", then select "Uninstall checked" in AutoGetIt; optionally saved checked list.
  • Disable/Remove IDE Plug-ins: Start Delphi and using GExperts Expert Manager, disable all experts, including GExperts itself.
  • Remove Third-party Components: Select Component > Install Packages from the Delphi menu and remove all third-party components.
  • Backup FDConnections: make a copy of the FDConnectionDefs.ini in my "public docs"\Embarcadero\Studio\FireDAC folder.

Run the installer, keeping defaults. After the installer is finished, there are similar steps to get my system set up again:

  • Check the Path: If the Path environment variable is getting too long, create short path substitutions and replace their entries.
  • Restore FDConnections: restore the copied FDConnectionDefs.ini.
  • Reinstall Third-Party Components
  • Re-Enable/Reinstall Experts: A lot of times, I find the previously disabled experts to be re-enabled and working but might have to reinstall some.
  • Reinstall GetIt Packages: If AutoGetIt is still running, simply hit "Install Checked" otherwise, load the saved items then install them all.
  • Re-enable User Access Notifications: Do not forget to keep your system protected against unauthorized installs!
  • Like 1

Share this post


Link to post
  1. Most important: I don't do it if there is no -visible- benefit for my work. I.e. I usually skip minor releases and if there is a major release then I wait at least one month before using it. My project is really old and with almost each Embarcadero-SW update I run in new trouble. Like this time with 12.2 and the "Unable to load Project ... Duplicates not allowed" error.
  2. Don't use the Migration tool, too many issues in the past.
  3. Backup the entire system.
  4. Run the SW installer (and keep the Windows registry setting).
  5. Get praying and try my project.
  6. Search for help in at least 50 % of all Embarcadero-SW update cases.
  7. Restore all settings which got lost.

 

Edited by Michaell
one step forgotten

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×