我最近继续使用MFC使用Visual Studio 6开发的项目
我没有触及代码至少4年
这一切都在VS6上很好地编译
但是现在我安装了VS2015,转换了项目并修复了一些不再在VS2015上编译的代码。
所以一切顺利。但当我尝试在干净的Windows 10系统上启动exe时,它表示运行时dll丢失(例如MFC140u.dll)
我知道我可以安装VC ++ distributable以使我的应用程序正常工作,但我的应用程序的大小只有325kB。
但我可以看到MFC42u.dll在这个空白的Win 10系统上。所以已经有一个包含MFC的VC ++运行时。
我只是不想在每个系统上安装新的VC ++运行时,为什么不使用现有系统?
有人可以告诉我在使用VS2015时如何连接MFC42吗? 提前谢谢。
答案 0 :(得分:1)
不知道为什么这个Q被投票了 但答案是:这是不可能的。
答案 1 :(得分:0)
如果您不想打包vc可再发行组件,请在安装过程中从Microsoft下载!
在InnoSetup的InnoSetup Dependency Installer脚本中,这看起来像是
[Languages]
Name: "en"; MessagesFile: "compiler:Default.isl"
Name: "de"; MessagesFile: "compiler:Languages\German.isl"
[Code]
// shared code for installing the products
#include "scripts\products.iss"
// helper functions
#include "scripts\products\stringversion.iss"
#include "scripts\products\winversion.iss"
#include "scripts\products\fileversion.iss"
// actual products
#include "scripts\products\msiproduct.iss"
#include "scripts\products\vcredist2015.iss"
// Perform some initializations. Return False to abort setup
function InitializeSetup: Boolean;
begin
initwinversion();
SetForceX86(true); // force 32-bit install of next products
vcredist2015();
SetForceX86(false); // disable forced 32-bit install again
end;
鉴于从VS6升级后您的应用仍然只有32位。