cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Tom_Teboda
Level 4

Uninstall leaves entry in Add Remove Programs

Hi,

I've recently upgraded my product installation package to IS 2009 from IS Developer 8.2 by making several modifications to my InstallScript code and some other tweeks. Installation works as expected with all features intact, however when I attempt to uninstall, the installer will perform all steps (unregistering controls, uninstalling services, removing shortcuts and files) however the product entry remains in Add/Remove programs and I find the corresponding keys in the registry. I have experimented with adding and removing the Change and Remove buttons but neither has any effect. An added issue is that if I select Remove from Add/Remove Programs I am brought to the maintenance dialog just like with the Change button, so there is some handling missing here as well.

Looking in the code I do have a check for REMOVEALL and this constant is set to true when I have selected that option from the maintenance dialog, but still the entry is not removed. Any suggestions?
Labels (1)
0 Kudos
(3) Replies
Tom_Teboda
Level 4

I was able so resolve this issue by a combination of two steps (neither on it's own worked). First I cut out all my custom code for OnMaintUIBefore(), OnMaintUIAfter(), and OnEnd() and let IS-regenerate the default functions.

Secondly I created a new release using the release wizard, on the surface it seems identical to the one I was using, but in conjunction with the above step solved the issue.

After this I was able to paste my extra code back into the above mentioned functions and with the new release this worked.

Any body want to take a stab at what the difference is?
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

On the existing release's uninstall, do you still have an HKLM\Software\Microsoft\Windows\Uninstall\{ProductCode} registry entry? If so, then the MSI package failed to uninstall which would prevent the InstallShield_{ProductCode} uninstall key from being removed. The best way to determine what failed in this case would be to create a log of the uninstall.

If the above registry key doesn't exist, I'm not sure what would be causing the behavior you were seeing specific to one release. One possible cause could be the existing release was not set to generate a new package code on each build, and running the new build actually used the existing MSI package cached on the machine instead of the new MSI built in 2009. A log file could also confirm if this was the case.
0 Kudos
Tom_Teboda
Level 4

Well it's a year later and the error is back. This time I started out by trying your suggestion. However no, that does not seem to be the issue. At first my release was set to not generate new packagecode, but even after changing it and installing on an "untainted" machine I still see this behavior, i.e. installation is fine, uninstalllation seems to run fine but the entry remains in Add / Remove programs (this test was run on a Win2003 server machine). Next I'll try my little trick again to see it that solves it this time as well...
0 Kudos