使用的Inno安裝程序,我們分配VC++ redistributable與我們的應用程序,所以我們可以自動運行。我們發現,在已經安裝的系統上運行它會要求我們修復/撤消將完全混淆用戶的安裝。分發VC++的Redist ......當已經安裝運行造成問題的安裝
有沒有辦法解決這個問題?也許在安裝程序上的標誌或什麼?
謝謝。
使用的Inno安裝程序,我們分配VC++ redistributable與我們的應用程序,所以我們可以自動運行。我們發現,在已經安裝的系統上運行它會要求我們修復/撤消將完全混淆用戶的安裝。分發VC++的Redist ......當已經安裝運行造成問題的安裝
有沒有辦法解決這個問題?也許在安裝程序上的標誌或什麼?
謝謝。
嘗試/ Q標誌 http://support.microsoft.com/kb/227091(假設你安裝它通過調用msiexec.exe的他們可再發行)
This thread解決了我的問題:
(在對方的回答從評論中獲得)
雖然不是的Inno安裝程序,此相關的問題提供了Visual Studio 2010中安裝項目的解決方案。問題是由於vcredist的SP1更改了產品代碼,而Visual Studio使用舊代碼。這就是爲什麼已安裝的檢查失敗。
Visual C++ 2010 Runtime Libraries prerequisite keeps popping up on a VS 2010 created installer
對於上述答案的一些原因爲我工作。然而,這確實,:
[Run]
Filename: {tmp}\vcredist_x86.exe; Parameters: "/passive /Q:a /c:""msiexec /qb /i vcredist.msi"" "; StatusMsg: Installing 2010 RunTime...
[Files]
Source: vendor/vcredist_x86.exe; DestDir: {tmp}
我通過運行選擇vcredist_x64.exe得到了它的提示/ +,作爲在該線程的底部指出:http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/a8d4d5b4-7927-4c86-95e8-3cd8b3018ae8/
作爲進一步的說明,進行再分配的另一種可能的選擇是隻針對靜態鏈接(你的版本)的MSVCRT看評論中http://blogs.msdn.com/b/vcblog/archive/2007/10/12/how-to-redistribute-the-visual-c-libraries-with-your-application.aspx(MS雖然這種類型的靜態鏈接顯然皺眉,至少你不會需要一個dll)。
Distributing the Visual C++ Runtime Libraries (MSVCRT)也可能是有用的。
另外請注意,如果你能保證你有控制,你可以只包括msvcr100.dll在同一目錄下的可執行文件和將工作也是如此,雖然不是一個非常標準的解決方案。
不會簡單地使用'選擇vcredist_x64.exe/q/norestart'是否足夠呢? (這是VS2012 btw的'/ quiet/norestart') – stijn 2013-07-21 10:03:09
我們從這裏安裝vcredist_x86.exe:http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en。你的答案仍然適用? – 2010-03-17 11:57:54
如果/ q不這樣做,請嘗試/ Q:a /c:"msiexec.exe/qb/i vcredist.msi「 請參閱http://jrsoftware.innosetup.free-usenet.eu/Microsoft-Visual -C-2008可再發行 - 文件 - 通匯創setup_T46582950_S1 – 2010-03-17 22:14:27