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

MS KB905238 is not my friend

So the first time I ran into this KB http://support.microsoft.com/kb/905238 I knew it was going to be a pain for a long time. I was hoping that it would be fixed in MSI 4.5, but unfortunately it is not.

Workaround 1 is not an option for me because I'm installing some 3rd party controls to the GAC, so I have no control over their version.

Workaround 2 was working somewhat fine, but now I have to create an installation for a new minor version of our product. The problem I'm having is that one of our service host lives in a folder with the major and minor version on it (eg "Folder 1.2"). The boss now wants the service host to be in "Folder 1.3", but doing the "Install first, then uninstall unneeded components" style of upgrade is leaving the Service unregistered. The new one gets registered on installation, but when the unneeded components are removed, the service is unregistered because both service hosts use the same service name.

Changing the service name is not an option, so my question is: How can I avoid this KB?

The only thing I can come up with is rolling my own setup bootstrapper that will detect and silently uninstall the previous installation before kick starting the new one, but I was hoping to be able to do it without having to write so much code. Maybe find a way to have the IS bootstrapper to do that for me?

Any ideas?

Thanks,
Doug
Labels (1)
0 Kudos
(1) Reply
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

The InstallShield setup.exe does not provide any handling for this scenario. However, you could wrap your MSI installation with an InstallScript project (that is set to not use maintenance). The InstallScript project can serve as a bootstrapper that detects the previous setup, uninstalls it if necessary, then launches the new setup.

Beyond custom handling, there isn't really any other solution to this issue besides what is documented in the MS KB article.
0 Kudos