vs打包后生成的安装文件每次执行都需要重新安装C++ 2010运行库(x86)的解决方案


如果你是用Visual Studio自带的打包项目打包了一个Installer,并且生成的.msi和setup.exe安装文件,并且在项目安装系统必备环境中选择了"Visual C++ 2010运行库(x86)",那你一定会发现,点击setup.exe安装以后,如果再次点击setup.exe安装文件,一定会需要再次安装C++运行环境,好像每次都不能通过C++已安装的前提条件。


原因是,居然是微软的C++运行环境产品Product Code改了!

解决方案如下

找到这个文件

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\vcredist_x86\product.xml
查找到里面的这一段

<InstallChecks>     <MsiProductCheck Property="VCRedistInstalled" Product="{6EE91C1A-A2E7-38CD-AEBB-3B900A4D8868}"/> </InstallChecks>
把里面的Product改成

<InstallChecks>     <MsiProductCheck Property="VCRedistInstalled" Product="{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}"/> </InstallChecks> 发现更改后还是每次安装的时候都会安装C++运行环境包,仔细检查发现这个包是我替换过的,是个补丁包,当然他的Product不一致了,到 注册表中[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall] 可以清楚的看到一下图片
把这个product替换下就好了。问题解决了。 

你可能感兴趣的:(C++,解决方案,2010,installer,X86)