gpt4 book ai didi

visual-studio - 无法在动态链接库 msvcrt.dll 中找到过程入口点 _except_handler4_common

转载 作者:行者123 更新时间:2023-12-04 07:38:39 24 4
gpt4 key购买 nike

我正在使用“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."

在 Debug模式下,我找不到错误发生的那一刻,因为无论我在代码中放置什么断点,消息都会在到达断点之前出现,我猜是在程序执行的一开始......

注意:它适用于 Vista 32 位和 7 个 64 位。

似乎很多人确实有同样的问题,但我无法为自己找到解决方案。

你能帮我吗?
谢谢你。

最佳答案

欢迎来到 DLL hell 和应用程序依赖分析的世界。

我在我的 Win8 机器上的 SYSWOW64(32 位 System32 文件夹)中找到了版本 7.0.9200.16384 的 DLL。使用 Dependency Walker 查看它我可以看到它实际上导出了您正在寻找的功能。

我还在我的 InstallShield 机器上看到了一个名为 MSVCRT.MSM 的合并模块,它重新分发了此文件的 6.00.8797.0 版本。但是,当我使用 Dependency Walker 查看它时,我发现它具有导出的函数 _except_handler2 和 _except_handler_3,但没有 _except_handler_4_common。

因此,您需要一个更新的 DLL,而该合并模块对您没有帮助。微软曾经有一个很酷的网站,叫做 DLL 帮助数据库,它告诉你一个文件的所有版本以及发布它们的内容,但遗憾的是他们杀死了它。

顺便说一句,我也可以看到这些天这个 DLL 是随 Windows 一起安装的。 window XP?我不太确定,因为我必须启动虚拟机并查看。

几个可能的解决方案:

  • 找出 Windows 的 SP 或 Hotfix 解决了这个问题,并使其成为您的 MSI 的依赖项。
  • 从 Win 8 机器中获取 DLL 并将其添加到您的 INSTALLDIR 并私下部署它。

  • 最后一点。这可能是由于 Windows XP 的版本带有旧版本的 DLL(相关的知识库文章说确实如此),或者是第三方应用程序破坏了导致问题的 DLL。这里需要更多的研究。

    关于visual-studio - 无法在动态链接库 msvcrt.dll 中找到过程入口点 _except_handler4_common,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14750110/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com