我最近安裝了vs2012
,我更新了我的ClickOnce應用程序。更確切地說,我第一次打開我的C++ project
(其中取決於我的主要C#項目)我沒有更新它,一切正常。 VS 2012
仍然能夠看到Visual C++ 2010先決條件。稍後,我通過將平臺工具集更改爲"Visual Studio 2012 (v110)"
在Properties->Configuration Properties->General
下更新了我的項目。在Visual Studio 2012中缺少Visual C++的先決條件
與此同時,我甚至安裝了其他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(可視化工作室版本)和Runtime版本(我認爲他們以前安裝有Visual Studio 2010) C++ 2012文件。因此我爭辯說Visual C++ 2012並沒有與Visual Studio 2012一起出現,不是嗎?我甚至試圖通過下載它們來安裝Visual C++ 2012 Redistributable x64軟件包,現在它們在我已安裝的程序中僅列出可再發行組件,而不是運行版本。
但是前提條件仍然不存在。我該如何解決這個問題?我甚至想過手動複製位於... \v7.0A\Bootstrapper\Packages
文件夾中的Visual C++ 2010的引導程序包,併爲C++ 2012手動更改它,但我不知道我應該在product.xml
下編寫<MsiProductCheck Property="VCRedistInstalled" Product=?>
。看起來插入這些信息的產品GUID可以用Bootstrapper Manager獲得,但是這個程序拋出了很多異常,我不知道該怎麼做。作爲第二種解決方案,從\\v7.0A\Bootstrapper\Packages\Bootstrapper\Packages to \v8.0A\Bootstrapper\Packages
簡單複製Visual C++ 2010的包是否安全?
謝謝你,怎麼樣vcredist_x64.exe? – Berezh
Noam的回答是正確的,只是msbuild不喜歡兩個「xml version ...」行的副本。 我刪除了一個,我可以在腳本上運行msbuild來創建安裝文件。 –