以下内容仅供参考,未进行全面验证。
1、环境
VS2015 + Win10
2、测试项
(1)对话框程序 x86下 Debug Release
(2)对话框程序 x64下 Debug Release
(3)单文档 x86下 Debug Release
(4)单文档 x64下 Debug Release
3、测试过程
(1)按照测试项目中的内容分别新建工程,不加任何代码,编译出对应的exe文件。
(2)拷贝到没有开发环境的Win10客户机上,分别运行exe文件。
(3)经过测试发现单文档和对话框的依赖文件是一样的,下面只对对话框程序进行分析
(4)所有的release版的exe文件都可以直接运行不依赖额外的文件,x86和x64的debug版本的文件运行时都会报缺少mfc140ud.dll、ucrtbased.dll、vcruntime140d.dll
(5)其中,
x86下:
ucrtbased.dll,从C:\Program Files (x86)\Windows Kits\10\bin\x86\ucrt下获取;
mfc140ud.dll,从C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\redist\debug_nonredist\x86\Microsoft.VC140.DebugMFC下获取;
vcruntime140d.dll,从C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\redist\debug_nonredist\x86\Microsoft.VC140.DebugCRT下获取。
x64下:
ucrtbased.dll,从C:\Program Files (x86)\Windows Kits\10\bin\x64\ucrt下获取;
mfc140ud.dll,从C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\redist\debug_nonredist\x64\Microsoft.VC140.DebugMFC下获取
vcruntime140d.dll,从C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\redist\debug_nonredist\x64\Microsoft.VC140.DebugCRT下获取。
注意:以上文件可能存在多个版本,其中ucrtbased.dll是一个通用依赖库,一般就在本文中路径获取即可,其它文件优先从C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\redist下搜索,如果搜索不到可以从C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\中搜索。