我最近安装vs2012
并更新了 ClickOnce 应用程序。更准确地说,我第一次打开我的C++ project
(取决于我的主要 c# 项目)我没有更新它并且一切正常。VS 2012
仍然能够看到 Visual C++ 2010 先决条件。稍后,我通过将平台工具集更改为"Visual Studio 2012 (v110)"
以下来更新我的项目Properties->Configuration Properties->General
。
与此同时,我什至安装了其他的software
,现在我发现我不再能够将 Visual C++ 先决条件添加到我的项目中以进行 ClickOnce 发布。先决条件用一个黄色三角形标记,Visual C++ 2010 Runtime Libraries (x64)
它是缺失的。理想情况下,我想更新到Visual C++ 2012 Runtime Libraries x64 (and x86)
,但即使是这个先决条件也缺失了。
我想这是由于文件夹C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\Bootstrapper\Packages
中相应的包(vcredist_x64)
是空的。我还注意到,在我拥有Microsoft Visual C++ 2010 x64
并x86
安装的控制面板中的已安装程序列表中,可再发行版本和运行时版本(我认为它们以前是使用 Visual Studio 2010 安装的),而我缺少 Visual C++ 2012文件。因此,我认为 Visual C++ 2012 并没有与 Visual Studio 2012 结合在一起,不是吗?我什至尝试通过下载它们来安装Visual C++ 2012 Redistributable x64包,现在它们列在我安装的程序中 8(只有 Redistributable,而不是运行时版本)。
然而,先决条件仍然缺失。我该如何解决这个问题?我什至考虑过手动复制位于...\v7.0A\Bootstrapper\Packages
文件夹中的 Visual C++ 2010 的引导程序包,并为 C++ 2012 手动更改它,但我不知道应该product.xml
在<MsiProductCheck Property="VCRedistInstalled" Product=?>
. 似乎可以使用 Bootstrapper Manager 获得插入此信息的产品 GUID,但是该程序抛出了很多异常,我不知道该怎么做。作为第二种解决方案,简单地从以下位置复制 Visual C++ 2010 的包是否安全\\v7.0A\Bootstrapper\Packages\Bootstrapper\Packages to \v8.0A\Bootstrapper\Packages
?