cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
sathya_narayana
Level 2

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 ?
Labels (1)
0 Kudos
(1) Reply
Sairen
Level 7

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.
0 Kudos