This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: MS KB905238 is not my friend
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Apr 08, 2009
12:26 PM
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
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
(1) Reply
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Apr 08, 2009
05:14 PM
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.
Beyond custom handling, there isn't really any other solution to this issue besides what is documented in the MS KB article.