2011-09-02 52 views
1

我正要把我的頭髮從安裝VC10運行時!正確的方法來做vc10運行時安裝

我有兩個應用程序,每個都有自己的安裝程序。爲了確保每個軟件都可以獨立運行,每個安裝程序都包含vcredist_x ??。exe文件來安裝VC10運行時。

現在,其中一個安裝程序包含'SP0'運行時 - 它是前一段時間建立的 - 稱爲'i0',另一個包含'SP1'運行時 - 現在正在構建 - 稱爲'i1'。

如果我的用戶只安裝i0或i1,那麼一切都很好。如果我的用戶先安裝i0,然後安裝i1,那麼一切都很好。

但是,如果我的用戶先安裝i1,那麼當他嘗試安裝i0時,運行時安裝將失敗。

手動運行redists我發現SP0安裝程序在看到SP1已安裝時感到不安。

除了這個事實,這似乎幾乎是刑事愚蠢的,我怎麼繞過它。是否有一些'強制'的標誌,我可以給SP0安裝程序?是否有一些'正確'的方法來檢查運行時是否已經安裝了 - 以及它的哪個版本?

回答

3

執行此操作的更好方法可能是與應用程序一起私下部署VC運行時。爲此,只需在安裝程序包中包含msvcp100.dll和msvcr100.dll。這樣,您的應用程序將不會使用系統CRT,您將不必運行可再分發程序。如果你有其他的依賴,你可以找出哪些文件包含here