在静态库中使用MFC

Raj*_*ian 2 installation mfc installshield static-libraries visual-c++

我已经使用选项"在静态库中使用MFC"创建了我的MFC应用程序.

我正在使用Installshield为我的应用程序创建安装.我应该在installshield中添加哪些依赖项文件或"合并模块"?

是否有必要添加"Microsoft C++运行时库"或"Microsoft Visual C++ MFC"合并模块?

Chr*_*ter 7

静态链接意味着在链接器阶段,foo.lib嵌入在myapp.exe中.不存在对foo.dll的依赖,也不需要重新分发.您还应该了解,虽然静态链接使您的部署更容易,但它实际上被视为安全性可用性,因为如果在foo.lib/foo.dll(在这种情况下为MFC)中找到漏洞,则Microsoft无法通过更新版本来修补您的应用程序在WinSXS缓存中.在您的构建计算机上包含最新的redist,重建和重新部署将取决于您.

我强烈建议使用基本快照创建一个虚拟机,该快照代表您要支持的最旧的操作系统,然后在那里测试您的安装程序.这将有助于识别缺失的依赖项,然后可以使用Dependency Walker,ILDasm/.NET Reflactor和ProcessMon等工具解决这些依赖项.