由於應用程序配置不正確,應用程序未能啓動。重新安裝應用程序可能會糾正這個問題。

轉載:

今天在準備發佈用VS2005寫的那個程序時,拷貝到我同事機器上,雙擊突然出現了“由於應用程序的配置不正確,應用程序未能啓動,重新安裝應用程序可能會糾正這個問題“,這個問題很讓我意外,以前只出現過缺少DLL的情況,而這次出現這個問題,讓我一時沒辦法。想想,無非是兩個原因引起的,要麼是他沒有安裝VS2005的原因,要麼是我的程序裏依賴了其它的一些庫。於是百度一下,發現好多相關主題。我是按照這個帖子解決的:

在VS2005下用C++寫的程序,在一臺未安裝VS2005的系統上,
用命令行方式運行,提示:
“系統無法執行指定的程序”
直接雙擊運行,提示:
“由於應用程序的配置不正確,應用程序未能啓動,重新安裝應用程序可能會糾正這個問題”

以前用VC6和VS2003的話, 如果缺少庫文件,是會提示缺少“**.dll”,但是用VS2005卻沒有這樣的提示。

自己實驗了一下,感覺以下幾種解決辦法是可行的:
方法一:
在類似C:/Program Files/Microsoft Visual Studio 8/VC/redi
st/Debug_NonRedist/x86/Microsoft.VC80.DebugCRT 下找到了下列文件:

msvcm80d.dll
msvcp80d.dll
msvcr80d.dll
Microsoft.VC80.DebugCRT.manifest

把這幾個文件拷貝到目標機器上,與運行程序同一文件夾或放到system32下,就可以正確運行了。

其他release版、MFC程序什麼的都是拷redist下相應文件夾下的文件就可以了,文件夾後都有標識!

方法二:
修改編譯選項,將/MD或/MDd 改爲 /MT或/MTd,這樣就實現了對VC運行時庫的靜態鏈接,在運行時就不再需要VC的dll了。

方法三:

工程-》屬性-》配置屬性-》常規-》MFC的使用,選擇“在靜態庫中使用mfc”
這樣生成的exe文件應該就可以在其他機器上跑了。

方法四:

你的vc8安裝盤上找到再分發包vcredist_xxx.exe和你的程序捆綁安裝

發佈了18 篇原創文章 · 獲贊 10 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章