The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

IS UNinstaller Kills All Versions

We use InstallShield for our MS Windows product. (I don't have a choice in the short term)  We're having a problem if a client installs multiple versions of our product.  If they uninstall the first-installed version, regardless of app version, the uninstaller removes all product keys for all instances from the registry.  Uninstalling the not-earliest-installed versions in any combination does not cause the problem.  Has anyone had similar problems or know where I should look?  It seems to be the install log, but any guidance is appreciated.

I'm an IS virgin-I know where the config files are & can read the script but am completely unfamiliar with IS itself.  For those who're gonna reply 'don't use InstallShield', believe me I wouldn't if I had a choice.  I've used the Wise tool before and am looking at NSIS at SourceForge for later.  Gotta fix *this* problem by Friday.
a former big-fiver Send private email
Wednesday, January 04, 2006
It sounds like a simple case of "I didn't put it there so I won't remove it". IS keeps track of changes and only backs out what it actually does. For example, the following scenario seems to explain what you are seeing.

1) User installs version 1. A product key is written to the registry. IS notes this fact for uninstall purposes.

2) User then installs version 2. A product key is already in the registry so IS doesn't touch it. IS notes that it shouldn't remove the product key on uninstall since it wasn't the one who wrote it there in the first place.

3) User uninstalls version 1. IS removes the product key since it put it there as part of the version 1 installation. If the user had tried uninstalling version 2 instead, the product key would not have been removed since version 2 was not the one to put it there.

I'm guessing that this is what is happening. One possible work around is to spawn a subsequent process at the end of the install that handles the product key. Since installshield is not directly adding the product key registry entry, it won't remove it for either type of uninstall.
Wednesday, January 04, 2006
Well, the registry does properly contain keys for multiple versions after the installs.  Version 'A' is there along with Version 'X' and any other Versions


My scenario: installed VersionX at 9:30am, followed by VersionA, then VersionB.  Uninstall VersionA, Versions B & X still in registry.  Same result for uninstalling Version B - A & X still in the registry.  Uninstall VersionX, all
"HKLM/SOFTWARE/<>" keys are removed.  Not the software, just the registry keys.  Very annoying, not to mention the effect on customer production machines.

In reality, some of our customer divisions _do_ run different version because of business/budget/political reasons, so this is a real problem when they upgrade off old versions.
a former big-fiver Send private email
Wednesday, January 04, 2006
I should mention that for the VersionX uninstall, Versions A & B were reinstalled.
a former big-fiver Send private email
Wednesday, January 04, 2006
Anon -

Does your point #1 mean that IS is registering the higher-level "HLKM/SOFTWARE/<>" key as belonging to VersionX and not just the complete keys?
a former big-fiver Send private email
Wednesday, January 04, 2006
Yes, I would think that would be the case. I would assume that the reason why ALL of the keys end up getting wiped out is because they are under a common parent directory that gets added as part of the very first install.

Keep in mind that I could be all wet here and that the real reason could be something else. But the symptoms seem to fit.
Wednesday, January 04, 2006

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz