VS2005的C++/MFC工程,在開發(fā)機(jī)上一切正常,換了機(jī)器(未安裝VS2005)之后運(yùn)行。彈出下列錯(cuò)誤:
由于應(yīng)用程序配置不正確,程序未能啟動(dòng),重新安裝應(yīng)用程序可能會(huì)糾正這個(gè)問題
在Eventlog中有:Generate Activation Context ……參照的匯編沒有安裝在系統(tǒng)上
原因:缺少應(yīng)用程序運(yùn)行所必須的C 運(yùn)行庫,標(biāo)準(zhǔn) C++ 庫和MFC類庫,VS2003的應(yīng)用程序在遇到同樣
問題的時(shí)候會(huì)直接在Error Message上說明所需的DLL,比如msvcr71.dll,msvcp71.dll,MFC71.dll。
解決方法:
總共有3種方法:
1.靜態(tài)鏈接DLL
增加應(yīng)用程序文件的大小并使得維護(hù)有可能更難進(jìn)行,考試.大不推薦使用。
如果你非要用的話,可以看文章最后的參考。
2.將 Visual C++ 庫 DLL 部署為共享程序集
把Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86\vcredist_x86.exe
拷貝到其他機(jī)器上運(yùn)行即可。
注意:(1)對(duì)于將 64 位應(yīng)用程序部署到 64 位操行系統(tǒng),使用 vcredist_x64.exe 或 vcredist_ia64.exe。
(2)此方法僅應(yīng)用于Release版。
(3)務(wù)必保持編譯程序的VS版本同vcredist_x86.exe的版本一致。比如VS為8.0.50727.762,
那么vcredist_x86.exe的版本就應(yīng)該是2.0.50727.762
3.將 Visual C++ 庫 DLL 部署為私有程序集
把Microsoft Visual Studio 8\VC\redist\x86的Microsoft.VC80.CRT和Microsoft.VC80.MFC文件夾下的
全部文件拷貝到目標(biāo)機(jī)器的和Exe同一目錄下。
注意:(1)對(duì)于將 64 位應(yīng)用程序部署到 64 位操作系統(tǒng),使用 \vc\redist\amd64 或 \vc\redist\ia64。
(2)對(duì)于調(diào)試應(yīng)用程序,使用 \vc\redist\debug_nonredist\ 中的 DLL。
詳細(xì)可以參考:
http://msdn2.microsoft.com/zh-cn/library/ms235291(VS.80).aspx
http://msdn2.microsoft.com/zh-cn/library/8kche8ah(VS.80).aspx 轉(zhuǎn)
由于應(yīng)用程序配置不正確,程序未能啟動(dòng),重新安裝應(yīng)用程序可能會(huì)糾正這個(gè)問題
在Eventlog中有:Generate Activation Context ……參照的匯編沒有安裝在系統(tǒng)上
原因:缺少應(yīng)用程序運(yùn)行所必須的C 運(yùn)行庫,標(biāo)準(zhǔn) C++ 庫和MFC類庫,VS2003的應(yīng)用程序在遇到同樣
問題的時(shí)候會(huì)直接在Error Message上說明所需的DLL,比如msvcr71.dll,msvcp71.dll,MFC71.dll。
解決方法:
總共有3種方法:
1.靜態(tài)鏈接DLL
增加應(yīng)用程序文件的大小并使得維護(hù)有可能更難進(jìn)行,考試.大不推薦使用。
如果你非要用的話,可以看文章最后的參考。
2.將 Visual C++ 庫 DLL 部署為共享程序集
把Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86\vcredist_x86.exe
拷貝到其他機(jī)器上運(yùn)行即可。
注意:(1)對(duì)于將 64 位應(yīng)用程序部署到 64 位操行系統(tǒng),使用 vcredist_x64.exe 或 vcredist_ia64.exe。
(2)此方法僅應(yīng)用于Release版。
(3)務(wù)必保持編譯程序的VS版本同vcredist_x86.exe的版本一致。比如VS為8.0.50727.762,
那么vcredist_x86.exe的版本就應(yīng)該是2.0.50727.762
3.將 Visual C++ 庫 DLL 部署為私有程序集
把Microsoft Visual Studio 8\VC\redist\x86的Microsoft.VC80.CRT和Microsoft.VC80.MFC文件夾下的
全部文件拷貝到目標(biāo)機(jī)器的和Exe同一目錄下。
注意:(1)對(duì)于將 64 位應(yīng)用程序部署到 64 位操作系統(tǒng),使用 \vc\redist\amd64 或 \vc\redist\ia64。
(2)對(duì)于調(diào)試應(yīng)用程序,使用 \vc\redist\debug_nonredist\ 中的 DLL。
詳細(xì)可以參考:
http://msdn2.microsoft.com/zh-cn/library/ms235291(VS.80).aspx
http://msdn2.microsoft.com/zh-cn/library/8kche8ah(VS.80).aspx 轉(zhuǎn)