cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
fuzzelogic
Level 3

InstallShield 2019 uninstalls entire registry key with 2 programs

Jump to solution

Hello,

I have multiple installshield programs that write to the same registry keys in HKEY_LOCAL_MACHINE when installing the programs.

HKEY_LOCAL_MACHINE\TestApp -> Program #1

                   ->Program #2

On previous InstallShield setups, the uninstall would only delete Program #2 and leave the TestApp key.

Now, if I uninstall either Program #1 or Program #2 via the remove option in setup.exe, it removes the entire tree starting at HKEY_LOCAL_MACHINE\TestApp

 

Labels (1)
0 Kudos
(2) Solutions
Thananjeyan_M
Level 6

Write custom action in Installscript to create the registry keys and use Disable(LOGGING) -  Enable(LOGGING) functions. It will not remove your registry entries after uninstallation.

Thanks,

Thananjeyan

View solution in original post

0 Kudos

Thanks for the suggestion and feedback.

I created a SetRegistryKey function as suggested to manually set all my registry keys which gets called after the Finish Button is clicked.

Disable(LOGGING);
SetRegistryKey();
Enable(LOGGING);

When the program is now uninstalled, I created a function called  RemoveRegistryKey() called from OnEnd() event to remove the keys created by SetRegistryFunction.

function OnEnd
begin
  RemoveRegistryKey();
end;

 

View solution in original post

0 Kudos
(2) Replies
Thananjeyan_M
Level 6

Write custom action in Installscript to create the registry keys and use Disable(LOGGING) -  Enable(LOGGING) functions. It will not remove your registry entries after uninstallation.

Thanks,

Thananjeyan

0 Kudos

Thanks for the suggestion and feedback.

I created a SetRegistryKey function as suggested to manually set all my registry keys which gets called after the Finish Button is clicked.

Disable(LOGGING);
SetRegistryKey();
Enable(LOGGING);

When the program is now uninstalled, I created a function called  RemoveRegistryKey() called from OnEnd() event to remove the keys created by SetRegistryFunction.

function OnEnd
begin
  RemoveRegistryKey();
end;

 

0 Kudos