2016-08-17 69 views
-1

使用我的產品,我部署了屬於重新分發包的特定版本的msvcp100.dll和msvcr100.dll。更確切地說,我使用他們從我的目錄C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\redist\x86\Microsoft.VC100.CRT。我只是把這些DLL放到我的軟件的安裝目錄中。是的,我的軟件被編譯爲x86和Visual Studio 2010.要爲客戶部署哪個msvcp100.dll/msvcr100.dll?

那些在我的機器上正常工作。但是,我發現有些客戶通過刪除這些文件並使用Microsoft的在線安裝程序手動安裝Visual Studio 2010可再發行組件來解決錯誤。錯誤將爲以下格式:

此應用程序未能啓動,因爲找不到MSVCR100.dll 。重新安裝應用程序可能會解決此問題。

我以爲msvcp100.dll和msvcr100.dll是在某種獨特的,但似乎有不同的版本在那裏。我應該如何將這些文件部署到我的客戶,以便它們適用於所有這些文件?如果這不可行,那麼部署這些文件的好方法是什麼? PS:如果投票下來,請提供評論,以便我可以編輯我的問題。我不明白爲什麼它不應該是一個有價值的問題。許多軟件似乎在其安裝目錄中都包含這兩個DLL。

+0

他們得到了什麼錯誤?最好的辦法是像你提到的那樣從MS安裝可再發行組件包... – Dom

+0

確切的錯誤是「此應用程序未能啓動,因爲MSVCR <版本號> .dll未找到。重新安裝應用程序可能會解決此問題「。 – IceFire

+0

什麼是版本號? ;-) – Dom

回答

1

它取決於操作系統版本和體系結構,所以最好在安裝程序中添加Microsoft Visual C++可再發行組件包作爲先決條件,以便安裝程序可以檢查系統是否實際需要,然後安裝/跳過它因此。

+0

我明白了。如果你爲你的軟件提供了一個'zip'文件,你將如何處理它,這樣我就可以運行而無需安裝? – IceFire

+0

嘗試使用Inno Setup或NSIS,它們都可以免費使用,並且在互聯網上有很多教程。 – mike

+0

是的,我使用NSIS,但我喜歡提供安裝程序和zip存檔,因爲客戶喜歡有這個選擇,客戶應該是國王。 (btw。downvoting你的答案沒有評論是,再次,非常粗魯......今晚發生了什麼) – IceFire