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: VC++ 2008 redistributable installation is not happening in vista
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
Jul 21, 2009
08:59 AM
VC++ 2008 redistributable installation is not happening in vista
Hi all,
I have written an installer which does major upgrade when upgraded from lower to newer version. I am seeing an issue with it. First and foremost, the package files have dependency on VC++ 2008 redistributable files(VC++ 9.0 CRT, VC++ 9.0 MFC and VC++ 9.0 CRT.policy in specific). When I install the package on a fresh system(no previous versions installed), everything works fine. However, when I upgrade it with the newer version(i.e. without uninstalling the existing version), the redistributable files are not getting installed(msvcr90.dll, msvcp90.dll, etc).
But, if i uninstall the existing package manually and install the newer version package, then, the redist files are getting installed. Also, this issue happens only on Vista and not on XP.
What can be done for redist files to get installed even during upgradation ?
I have written an installer which does major upgrade when upgraded from lower to newer version. I am seeing an issue with it. First and foremost, the package files have dependency on VC++ 2008 redistributable files(VC++ 9.0 CRT, VC++ 9.0 MFC and VC++ 9.0 CRT.policy in specific). When I install the package on a fresh system(no previous versions installed), everything works fine. However, when I upgrade it with the newer version(i.e. without uninstalling the existing version), the redistributable files are not getting installed(msvcr90.dll, msvcp90.dll, etc).
But, if i uninstall the existing package manually and install the newer version package, then, the redist files are getting installed. Also, this issue happens only on Vista and not on XP.
What can be done for redist files to get installed even during upgradation ?
(1) Reply
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Jul 23, 2009
01:42 PM
Sounds like you're running into this:
http://support.microsoft.com/kb/905238
In a nutshell, what happens is that the assembly is marked to not be installed since the same version already exists on your machine.
Then the assembly gets removed by the uninstall of the old version.
And it is not replaced during installation of the new version due to the costing decision made above.
It's a bear, to be sure. Try searching these forums for assembly, auto-repair, XML, or major upgrade. This problem has about 3-5 threads devoted to it.
You've basically got to move the uninstall to a different point in installation - there are some best practices on the MS KB article, and some other people have gotten it to work using a not recommended method. I had to basically stop distributing these via assembly. You can also try hacking the assembly to increase its count (so that the costing process thinks something else is using it and it won't get uninstalled), or modify the version number of the assembly (so that costing doesn't think it's the same thing and marks it to install). But those require you be pretty confident in tweaking assemblies. I wasn't. You might be.
Good luck.
http://support.microsoft.com/kb/905238
In a nutshell, what happens is that the assembly is marked to not be installed since the same version already exists on your machine.
Then the assembly gets removed by the uninstall of the old version.
And it is not replaced during installation of the new version due to the costing decision made above.
It's a bear, to be sure. Try searching these forums for assembly, auto-repair, XML, or major upgrade. This problem has about 3-5 threads devoted to it.
You've basically got to move the uninstall to a different point in installation - there are some best practices on the MS KB article, and some other people have gotten it to work using a not recommended method. I had to basically stop distributing these via assembly. You can also try hacking the assembly to increase its count (so that the costing process thinks something else is using it and it won't get uninstalled), or modify the version number of the assembly (so that costing doesn't think it's the same thing and marks it to install). But those require you be pretty confident in tweaking assemblies. I wasn't. You might be.
Good luck.