VS2005的C++/MFC应用程序部署问题

VS2005的C++/MFC应用程序部署问题
2007年06月01日 星期五 下午 12:56
http://tdreller.officeisp.net/Job/Logo%20Visual%20Studio%202005.bmp
VS2005的C++/MFC工程,在开发机上一切正常,换了机器(未安装VS2005)之后运行。弹出下列错误:
由于应用程序配置不正确,程序未能启动,重新安装应用程序可能会纠正这个问题
在Eventlog中有: Generate Activation Context ……参照的汇编没有安装在系统上

原因:缺少应用程序运行所必须的C 运行库,标准 C++ 库和MFC类库,VS2003的应用程序在遇到同样
问题的时候会直接在Error Message上说明所需的DLL,比如msvcr71.dll,msvcp71.dll,MFC71.dll。

解决方法:

总共有3种方法:

1.静态链接DLL。
   增加应用程序文件的大小并使得维护有可能更难进行,所以不推荐使用。
   如果你非要用的话,可以看文章最后的参考。

2.将 Visual C++ 库 DLL 部署为共享程序集
   把Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86\vcredist_x86.exe
   拷贝到其他机器上运行即可。
   注意: (1)对于将 64 位应用程序部署到 64 位操行系统,使用 vcredist_x64.exe 或 vcredist_ia64.exe。
            (2)此方法仅应用于Release版。
            (3)务必保持编译程序的VS版本同 vcredist_x86.exe的版本一致。比如VS为8.0.50727.762,
                 那么 vcredist_x86.exe的版本就应该是 2.0.50727.762

3.将 Visual C++ 库 DLL 部署为私有程序集
   把Microsoft Visual Studio 8\VC\redist\x86的Microsoft.VC80.CRT和Microsoft.VC80.MFC文件夹下的
   全部文件拷贝到目标机器的和Exe同一目录下。
   注意:(1)对于将 64 位应用程序部署到 64 位操作系统,使用 \vc\redist\amd64 或 \vc\redist\ia64。
            (2)对于调试应用程序,使用 \vc\redist\debug_nonredist\ 中的 DLL。



你可能感兴趣的:(C++,职场,mfc,VS2005,休闲)