我使用Visual Studio 2010版本10.0.40.219.1 SP1 Rel创建了一个安装程序.我的应用程序是为x86构建/编译的,需要VC++运行时库.因此,安装项目配置为VC++运行时库作为先决条件.
每次运行安装程序时,我都会弹出"您的计算机上将安装以下组件"."Visual C++ 2010运行时库(x86)".它是第一次按预期安装.第二次及以后,它会询问我是否修复或删除VC++ 2010.
此弹出窗口应该只显示一次,第一次发现未安装VC++可再发行组件.
有没有人见过这个?有谁知道如何解决这个问题?
解:
我接受的答案给了我解决问题所需要的东西.以下是我为解决这个问题所做的工作的细节,事实上这非常简单.我编辑了文件:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\vcredist_x86\product.xml
Run Code Online (Sandbox Code Playgroud)
在此文件中,您将找到以下内容:
<InstallChecks>
<MsiProductCheck Property="VCRedistInstalled" Product="{6EE91C1A-A2E7-38CD-AEBB-3B900A4D8868}"/>
</InstallChecks>
Run Code Online (Sandbox Code Playgroud)
以上包含不正确的产品代码.将以上内容替换为Visual C++ 2010 SP1可再发行组件的正确产品代码,如下所示:
<InstallChecks>
<MsiProductCheck Property="VCRedistInstalled" Product="{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}"/>
</InstallChecks>
Run Code Online (Sandbox Code Playgroud)
此处的链接显示各种VC++ 2010 Redistributables的正确产品代码.