我使用 Visual Studio 2010 版本 10.0.40.219.1 SP1 Rel 创建了一个安装程序。我的应用程序是为 x86 构建/编译的,并且需要 VC++ 运行时库。因此,安装项目配置了 VC++ 运行时库作为先决条件。
每次我运行安装程序时,我都会弹出“以下组件将安装在您的机器上”。“Visual C++ 2010 运行时库 (x86)”。第一次按预期安装。第二次和随后的时间它询问我是否修复或删除 VC++ 2010。
这个弹出窗口应该只显示一次,第一次发现没有安装 VC++ redistributable。
有人见过这个吗?有谁知道我该如何解决这个问题?
解决方案:
我接受的答案给了我解决问题所需的东西。以下是我为解决此问题所做的详细信息,实际上这非常简单。我编辑了文件:
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>
以上包含不正确的产品代码。将以上内容替换为 Visual C++ 2010 SP1 可再发行组件的正确产品代码,如下所示:
<InstallChecks>
<MsiProductCheck Property="VCRedistInstalled" Product="{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}"/>
</InstallChecks>
此处的链接显示了各种 VC++ 2010 Redistributables 的正确产品代码。