在 VC6.0、VS2003 時代,使用「Use MFC in a Shared DLL」編譯的程式,僅需將缺少的 MFC DLL 打包即可在乾淨機器執行。但 VS2005 編譯的程式在 Windows XP/2003 上執行會出現「應用程式組態不正確」錯誤,單純複製 MFC DLL 已無效。
執行 vcredist_x86.exe 安裝 Visual C++ 2005 執行階段程式庫。該檔案位於:
C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86\vcredist_x86.exe
VC2005 编译的程式採用 Manifest 機制指定相依 DLL 版本,作業系統透過 Side-by-Side 組件存儲區載入正確版本。單純複製 DLL 無法滿足 Manifest 版本綁定需求,必須安裝執行階段套件註冊組件。
若使用「Use MFC in a Static Library」靜態連結編譯,則不會有此問題,但執行檔體積會增大。