Léa*_*iot 4 mfc installshield windows-xp visual-studio
我正在使用"Microsoft Visual Studio"来处理"MFC应用程序".
我正在使用"Installshield"为此应用程序创建安装文件.
我收到一个"setup.exe"文件.
如果我在"Windows XP 32位"计算机上运行此设置,则安装将正确结束.
然而,当我尝试启动已安装的程序时,我收到消息:
"The procedure entry point _except_handler4_common could not be located in the dynamic link library msvcrt.dll."
Run Code Online (Sandbox Code Playgroud)
在调试模式下,我无法找到错误发生的那一刻,因为无论我在代码中放置什么断点,消息在到达断点之前出现,我想在程序执行的最开始......
注意:它适用于Vista 32位和Seven 64位.
看来很多人都有同样的问题,但我找不到自己的解决方案.
你能帮我吗?谢谢.
欢迎来到DLL地狱世界和应用程序依赖性分析.
我发现我的Win8机器上的DLL在SYSWOW64(32位System32文件夹)中的版本为7.0.9200.16384.使用Dependency Walker查看它我可以看到它实际上导出了您正在寻找的功能.
我还在我的InstallShield机器上看到一个名为MSVCRT.MSM的合并模块,它重新分发了该文件的版本6.00.8797.0.但是当我使用Dependency Walker查看它时,我看到它有导出的函数_except_handler2和_except_handler_3但不是_except_handler_4_common.
因此,您需要一个较新的DLL,该合并模块将无法帮助您.微软曾经拥有这个名为DLL帮助数据库的酷网站,该网站告诉你文件的所有版本以及发送给他们的东西,但遗憾的是他们将其杀死了.
顺便说一句,我还可以看到这个DLL现在安装了这个DLL.Windows XP?我不太确定,因为我必须启动VM并查看.
几种可能的解决方案:
找出Windows的SP或修补程序修复此问题并使其成为您的MSI的依赖项.
从Win 8计算机中获取DLL并将其添加到您的INSTALLDIR并私下部署它.
最后一点说明.这可能是由于Windows XP版本附带旧版本的DLL(相关知识库文章说它确实存在)或第三方应用程序破坏了导致问题的DLL.这里需要进行更多的研究.
您的程序具有 Windows XP 上未满足的依赖性。您可以尝试使用 Dependency Walker 来识别它,或者您可以检查已知的限制。例如,Visual Studio 2012 在更新 1 和构建选项更改之前不支持 Windows XP - 这是您正在使用的吗?
| 归档时间: |
|
| 查看次数: |
41403 次 |
| 最近记录: |