1. 程式人生 > >[VS2008]解決“由於應用程式的配置不正確,應用程式未能啟動,重新安裝應用程式可能會糾正這個問題”

[VS2008]解決“由於應用程式的配置不正確,應用程式未能啟動,重新安裝應用程式可能會糾正這個問題”

最近把一個開發好的程式部署到沒有安裝VS2008的電腦上,提示“由於應用程式的配置不正確,應用程式未能啟動,重新安裝應用程式可能會糾正這個問題”。這個問題確實有點讓我奇怪,我開始懷疑是我的系統是64位、伺服器是32位的原因,在以前用vc6、vs2003的時候,都會提示缺少什麼庫。有人說,跟系統有關係,有人說跟release和debug版本有關係,我只能說能說出這樣話的人,跟他的工作經驗和積累有關係,同時也反應出他在這方面的水平。現在提示這個,在網上搜了搜,有解決問題的方法。然後就建了一個測試的程式,然後選擇使用靜態庫中使用MFC,然後考過去就可以用了。

而在用我的程式編譯的時候,又出現其他的問題,在解決後,就提示缺少dll了。把這個拷到目標電腦上,執行就ok了。

還有其他的方法沒有測試,現在總結一下方法,後面三種方法沒有測試過,有興趣朋友可以自己驗證一下:

方法一:在編譯的時候,工程-》屬性-》配置屬性-》常規-》MFC的使用,選擇使用靜態庫中使用MFC,選擇這個會有一些衝突的提示,在連線的地方可以忽略衝突的庫。個人偏向於使用這種方法。

方法二:修改編譯選項,將/MD/MDd改為 /MT/MTd,這樣就實現了對VC執行時庫的靜態連結,在執行時就不再需要VCdll了。

方法三:

在類似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下相應資料夾下的檔案就可以了,資料夾後都有標識!

方法四:

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