This guide covers streamlining GetIt packages during and upgrade and installation for a smoother upgrade experience.
When upgrading between major versions, the Settings Migration Tool simplifies keeping your settings. It is also great for migrating a subset of your settings between alternative registry keys. When upgrading minor versions, your registry settings are automatically persisted if you use the default settings during the upgrade, but it is still a good idea to use the settings tool to backup your settings.
It would also be nice to keep your GetIt packages installed. Both over minor releases and major releases. With the new release of 11.3 Alexandria I’ll walk you through my process for streamlining upgrades using the GetItCmd.exe
command-line too. You can simplify the process with David Cornelius’ excellent AutoGetIt too. I’ll show both via the command-line too, and with AutoGetIt.
Table of Contents
Prerequisites
When using GetItCmd.exe
there are a few prerequisites. AutoGetIt uses GetItCmd automatically behind the scenes.
- RAD Studio is installed and on your path (it usually is by default)
- Use Command Prompt, not PowerShell. If you launch PowerShell, you can use
cmd
to switch.- I recommend using an elevated command prompt (ran with Administrator privileges). If you don’t, then it may prompt you for one or more elevations.
- Run
rsvars.bat
to set up all the environment variables.
1) Backup Package List
A good developer always has backups (plural!) especially before starting something like an upgrade. Let’s create a backup list of our installed GetIt packages.
1 |
getitcmd --list= --sort=name --filter=installed |
The output will look something like
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
GetIt Package Manager - Version 7.0 Copyright (c) 2023 Embarcadero Technologies, Inc. All Rights Reserved. Id Version Description -- ------- ----------- Bookmarks-11-1.6.3 1.6.3 Navigate your code! Bookmarks re... BossExperts-1.0 1.0 Boss Experts is an IDE utility f... Delphi4PythonExporter-D11-1.2.1 1.2.1 Design your Python GUI using Del... DOSCommand-2021.09-D11 2021.09 TurboPack DOSCommand component l... FMXStyle-PolarLight-1.0 1.0 FMX Multi-Device Light Style - P... Navigator-11-1.6.3 1.6.3 Your code at your fingertips. Ev... OpenAIforDelphi 5.0 The library provides access to t... ParallelDebugger-11-1.0.3 1.0.3 Modern apps have multiple thread... Skia4Delphi-4.1.1 4.1.1 Cross-platform 2D graphics API b... SVGIconImageList-11-3.9.3 3.9.3 Four advanced components to simp... VCLStyle-Calypso-1.0 1.0 VCL Windows Style - Calypso. Inc... VCLStyle-FlatUILight-1.0 1.0 VCL Windows Style - Flat UI Ligh... VCLStyle-MaterialOxfordBlue-1.0 1.0 VCL Windows Style - Material Oxf... VCLStyle-MineShaft-1.0 1.0 VCL Windows Style - Windows11 Mi... VCLStyle-PolarDark-1.0 1.0 VCL Windows Style - Windows11 Po... VCLStyle-PuertoRico-1.0 1.0 VCL Windows Style - Puerto Rico.... VCLStyle-Stellar-1.0 1.0 VCL Windows Style - Stellar. Inc... VCLStyle-WedgewoodLight-1.0 1.0 VCL Windows Style - Wedgewood Li... VCLStyle-WhiteSmoke-1.0 1.0 VCL Windows Style - Windows11 Wh... VCLStyle-Windows10BlackPearl-1.0 1.0 VCL Windows Style - Windows10 Bl... VCLStyle-Windows10BlueWhale-1.0 1.0 VCL Windows Style - Windows10 Bl... VCLStyle-Windows10Charcoal-1.0 1.0 VCL Windows Style - Windows10 Ch... VCLStyle-Windows10ClearDay-1.0 1.0 VCL Windows Style - Windows10 Cl... VCLStyle-Windows10Malibu-1.0 1.0 VCL Windows Style - Windows10 Ma... VirtualTreeView-11 2022.09 Delphi and CBuilder treeview con... XMLMapper-28 28.0.8300.35351 XML Mapper is the Swiss knife fo... Command finished with success! |
That first column is what you need to backup. Just redirect it to a text file, open it in your favorite text editor, and use a column select to remove the extra text. AutoGetIt has a feature to do this automatically.
- Select Installed Only
- Refresh Package List
- Context Menu Check All or Ctrl+A
- Context Menu Save Checked Items or Ctrl+S
2) Uninstall GetIt Packages (minor updates)
Behind the scenes the RAD Studio installed uses the GetIt package manager. When you upgrade a minor release (e.g. going from 11.2 to 11.3) it uninstalls all GetIt packages but uses a different process. I’ve found this sometimes causes errors after the new version is installed as it still tries to load some packages. So if you are performing a minor update, then I recommend uninstalling your GetIt packages first.
Note: If you are moving to a new major version of RAD Studio then you don’t need to uninstall the packages first as nothing is installed during the upgrade process.
1 |
getitcmd -v=minimal -u=Bookmarks-11-1.6.3;BossExperts-1.0;Delphi4PythonExporter-D11-1.2.1;DOSCommand-2021.09-D11;FMXStyle-PolarLight-1.0;Navigator-11-1.6.3;OpenAIforDelphi;ParallelDebugger-11-1.0.3;VCLStyle-Calypso-1.0;VCLStyle-FlatUILight-1.0;VCLStyle-MaterialOxfordBlue-1.0;VCLStyle-MineShaft-1.0;VCLStyle-PolarDark-1.0;VCLStyle-PuertoRico-1.0;VCLStyle-Stellar-1.0;VCLStyle-WedgewoodLight-1.0;VCLStyle-WhiteSmoke-1.0;VCLStyle-Windows10BlackPearl-1.0;VCLStyle-Windows10BlueWhale-1.0;VCLStyle-Windows10Charcoal-1.0;VCLStyle-Windows10ClearDay-1.0;VCLStyle-Windows10Malibu-1.0;VirtualTreeView-11;XMLMapper-28;Skia4Delphi-4.1.1 |
Or from AutoGetIt just use the Uninstall checked context menu item.
3) Perform the RAD Studio Upgrade
Now just upgrade RAD Studio as usual. I recommend backing up your settings with the Migration Assistant, but if you like to live dangerously that is your call.
4) Check GetIt Package Versions
If you are migrating your packages to a new major version, or even on some minor upgrades, some of the package numbers may have changed. So it might be a good idea to export the full package list for the new install, then do a comparison with the best text compare tool and see if the version numbers changed. If they did, you will want to change the version numbers before installing the packages again, otherwise they will fail to install.
1 |
getitcmd --list= --sort=name --filter=all |
From AutoGetIt
- Uncheck Installed Only
- Refresh Package List
- Context Menu Check All or Ctrl+A
- Context Menu Saved checked items or Ctrl+S
I found it easiest to spot changes if you sort the lists first. You can use UltraEdit’s Sort function or the sort command-line utility included with Windows. Then when viewing in Beyond Compare only show differences and hide context to spot any issues quickly. Notice the preview on the left only shows one difference for the right file, which is our package list. When we look at the package list we see that is the 11.2 Patch 1, which naturally isn’t available in 11.3.
5) Reinstall GetIt Packages
Once you’ve finished installing RAD Studio, close the IDE and reinstall your GetIt packages. The -ae
argument automatically accepts the EULA prompts.
1 |
getitcmd -ae -v=minimal -i=Bookmarks-11-1.6.3;BossExperts-1.0;Delphi4PythonExporter-D11-1.2.1;DOSCommand-2021.09-D11;FMXStyle-PolarLight-1.0;Navigator-11-1.6.3;OpenAIforDelphi;ParallelDebugger-11-1.0.3;VCLStyle-Calypso-1.0;VCLStyle-FlatUILight-1.0;VCLStyle-MaterialOxfordBlue-1.0;VCLStyle-MineShaft-1.0;VCLStyle-PolarDark-1.0;VCLStyle-PuertoRico-1.0;VCLStyle-Stellar-1.0;VCLStyle-WedgewoodLight-1.0;VCLStyle-WhiteSmoke-1.0;VCLStyle-Windows10BlackPearl-1.0;VCLStyle-Windows10BlueWhale-1.0;VCLStyle-Windows10Charcoal-1.0;VCLStyle-Windows10ClearDay-1.0;VCLStyle-Windows10Malibu-1.0;VirtualTreeView-11;XMLMapper-28;Skia4Delphi-4.1.1 |
In AutoGetIt
- Uncheck Installed Only
- Refresh Package List
- Context menu Load checked items to load your saved list.
- Context menu Install checked.
Summary and Notes
Just fire up your new RAD Studio, and all your packages installed with none of those pesky error messages. A much smoother process.
- Backup GetIt Package List
- Uninstall GetIt Packages (for minor version upgrades)
- Upgrade/Install new RAD Studio version
- Check version package numbers
- Install GetIt Packages
Enjoy your improved productivity with RAD Studio 11.3 Alexandria.
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition
This workflow could be implemented in the MigrationTool.exe. Otherwise, I wouldn’t mind if the feature will just be removed from the MigrationTool.exe and the installation/upgrade instructions for each new release just point to this blog post.