Uninstalling Delphi Components

Problem I'm facing troubles when installing a new release of the SDL Suite under Delphi 2005 or higher: new components are not displayed in the toolbar.
Solution BDS (aka Delphi 2005 or higher) uses a special scheme to set the registry keys of the current user. At startup Delphi copies all registry information from the HKEY_LOCAL_MACHINE path to the HKEY_CURRENT_USER path. This copying takes place only if the key "RegMergeLevel" in HKEY_LOCAL_MACHINE is higher than in the HKEY_CURRENT_USER part of the registry. After the copying the RegMergeLevel key of HKEY_CURRENT_USER is set to the value of HKEY_LOCAL_MACHINE. Thus avoiding to copy the BDS registry path during subsequent startups.

The problem with this approach is that the uninstaller does not know about this registry copying process. It correctly decreases the RegMergeLevel key in the HKEY_LOCAL_MACHINE path but does not change it in the HKEY_CURRENT_USER path. As a consequence, the RegMergeLevel key for the installed new release is then too low to trigger the copying into the current user registry path, preventing the components to become visible in the toolbar.

In order to uninstall the SDL Suite completely you have to perform the following steps manually:

  1. Add/Remove Software - Uninstall Packages (in the order ChartPack, ChemPack, GeoPack, GuiPack, MathPack, and BasePack). Check the installation directory for remaining Files (default directory is C:\SDLSuite\D2006) and delete them.
  2. Set the RegMergeLevel key to a value of zero (both in the HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE path).
  3. Delete all SDL entries (DLLs) in the HKEY_CURRENT_USER\Software\Borland\BDS\4.0\Known Assemblies key
  4. Delete all SDL entries (BPLs) in the HKEY_CURRENT_USER\Software\Borland\BDS\4.0\Known Packages key
  5. Remove the following registry keys:
    HKEY_CURRENT_USER\Software\Borland\BDS\4.0\Package Cache\sdlbasepack_85D2006.bpl
    HKEY_CURRENT_USER\Software\Borland\BDS\4.0\Package Cache\sdlmathpack_85D2006.bpl
    HKEY_CURRENT_USER\Software\Borland\BDS\4.0\Package Cache\sdlchempack_85D2006.bpl
    HKEY_CURRENT_USER\Software\Borland\BDS\4.0\Package Cache\sdlguipack_85D2006.bpl
    HKEY_CURRENT_USER\Software\Borland\BDS\4.0\Package Cache\sdlgeopack_85D2006.bpl
    HKEY_CURRENT_USER\Software\Borland\BDS\4.0\Package Cache\sdlchartpack_85D2006.bpl
  6. Remove the following Registry Keys:
    HKEY_CURRENT_USER\Software\Borland\BDS\4.0\Palette\Cache\sdlbasepack_85d2006.bpl
    HKEY_CURRENT_USER\Software\Borland\BDS\4.0\Palette\Cache\sdlmathpack_85d2006.bpl
    HKEY_CURRENT_USER\Software\Borland\BDS\4.0\Palette\Cache\sdlchempack_85d2006.bpl
    HKEY_CURRENT_USER\Software\Borland\BDS\4.0\Palette\Cache\sdlguipack_85d2006.bpl
    HKEY_CURRENT_USER\Software\Borland\BDS\4.0\Palette\Cache\sdlgeopack_85d2006.bpl
    HKEY_CURRENT_USER\Software\Borland\BDS\4.0\Palette\Cache\sdlchartpack_85d2006.bpl
  7. Remove the following entries in key HKEY_CURRENT_USER\Software\Borland\BDS\4.0\ToolForm\Mapping: SDL-Base, SDL-Chart, SDL-Chem, SDL-Geo, SDL-Gui, SDL-Math
  8. delete all SDL entries in key HKEY_LOCAL_MACHINE\SOFTWARE\Borland\BDS\4.0\Known Assemblies
  9. delete all SDL entries in key HKEY_LOCAL_MACHINE\SOFTWARE\Borland\BDS\4.0\Known Packages
  10. remove the SDL entries of the search path in key HKEY_LOCAL_MACHINE\SOFTWARE\Borland\BDS\4.0\Library
  11. remove the SDL entries of the search path in key HKEY_LOCAL_MACHINE\SOFTWARE\Borland\BDS\4.0\Library .NET

 


Last Update: 2006-01-25