◎蕭沖整理:
自從ms把 dll hell 改成 sxs 的方式後,又變成另一種hell @@。
常常搞不清楚安裝程式少了哪一個版本的run time,再此先教大家確認的方式 : 用resource editor (vs2005可以直接打開exe檔)打開exe檔,就會看到RT_Manifest的資源,查一下裡面<assemblyIdentity type="win32" name="Microsoft.VC80.DebugCRT" version="8.0.50727.4053" … 之類的就可以確認。
一但確認後,該如何解決呢?
1/ 使用 目錄夾的方式: 若你是程式開發人員,請在
%PROGDIR%\Microsoft Visual Studio 8\SDK\v2.0\Bootstrapper\Packages\
找出 vcredist_x86\vcredist_x86.exe 或 vcredist_x64\vcredist_x64.exe 然後給客戶安裝。
2/ 使用xcopy的方式來佈署:
到%PROGDIR%\Microsoft Visual Studio 8\VC\Redist\
找到 Debug_NonRedist 裡的 Microsoft.VC80.DebugCRT 與 Microsoft.VC80.DebugMFC 目錄,然後整個copy至你的exe 檔的位置上,連目錄一起。
或找到 x86 裡的 Microsoft.VC80.CRT and Microsoft.VC80.MFC ,一樣copy至你的exe 檔的位置上,連目錄一起。
最近剛好在測寫64bit的程式,發現該distribution的版本很特別… 所以也註記一下:
目前最新的應該是
http://www.microsoft.com/downloads/en/details.aspx?familyid=766a6af7-ec73-40ff-b072-9112bab119c2&displaylang=en
一般找到的下載點都不是最新的,所以程式變成無法跑。當然,若程式人員用上述的第一個方法就一定不會有這個問題。但若你是user,你就只能自己下載,於是就要了解最新匹配的版本。上面的版本是8.0.50727.4053,它是一個sp1後的hotfix !
留言列表