c++ - vc++2008 安装程序项目 msvcrt.dll

标签 c++ windows visual-studio dll

你好,我正在按照系统工作。

Windows 7 旗舰版 SP1 x64。
Visual Studio 9 C++ SP1。
directx sdk 9(我不知道我的指定版本。但它的版本高于 2010 年 6 月)。
提升 x86 1.47

而且我的 visual studio 不是英文版,所以我不能很高兴地写菜单或消息的名称。但它的意思几乎是一样的。

我的项目是 3D 游戏。
我使用 visual studio 的“安装程序项目”制作我的项目的安装程序
并包含每个包含项目的依赖 DLL(使用 visual studio 的功能)
一切安好。安装运行测试成功。并且每个 dll 都安装正常。 (例如 d3d9.dll)

当我在纯 Windows xp sp3 上测试它时,安装 (setup.exe) 是成功的。但是当我运行这个程序时,它出现错误并且没有执行。


错误对话框是:

无法在动态链接库 msvcrt.dll 中找到过程入口点 point_except_handler4_common。

(我的windows xp不是英文的,不过差不多吧)

接下来我尝试了:
安装程序项目 --> "属性"--> "先决条件.."--> "选择要安装的先决条件:"--> 添加检查 -->"Visual C++ 2010 Runtime Libraries (x86) & .Net Framework 3.5 sp1 --> “指定先决条件的安装位置”–> “从组件供应商的网站下载先决条件”



输出是
安装程序项目.msi
vcredist_x86.exe
setup.exe

我尝试重新安装 vcredist_x86 并重新启动。客户端计算机(纯 Windows xp3)有同样的问题。谷歌说“msvcrt.dll 引起了很多问题。”但在我找到的列表中没有文章解决我的问题。 -他们说'没有通用的解决方案:(
谁知道这个问题的解决方案?为什么会出现这个问题?

请帮帮我。对不起,我最短的英语。这是我最好的英语技能

最佳答案

您可能希望将您的程序加载到 Dependency Walker 中在 XP 机器上查看什么二进制文件试图链接到 msvcrt!_except_handler4_common。

msvcrt.dll 是一个系统 DLL,不是 Visual C++ 2008(或 2010 - 不清楚您使用的是哪个)运行时库的一部分。 VC++ 2008 的运行时 DLL 被命名为 msvcr90.dll,所以我猜测对 msvcrt.dll 有一些间接依赖。您需要弄清楚什么二进制文件正在尝试使用从 msvcrt.dll 导出的内容,并确定它是否与 WinXP 兼容或如何使其兼容。

请注意,由于 msvcrt.dll 是一个系统 DLL,它处于 Windows 的系统文件保护功能之下,因此通常无法更新/修改,除非通过服务包和系统更新。

只是为了比较:

  • 这里运行 WinXP SP3 的机器有 msvcrt.dll 版本 7.0.2600.5512 - 它没有 _except_handler4_common 入口点。
  • 另一台运行 Win7 SP1 x64 的机器有一个 32 位 msvcrt.dll 版本 7.0.7600.16385,它确实有那个入口点。

关于c++ - vc++2008 安装程序项目 msvcrt.dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8530040/

相关文章:

c++ - 没有得到预期的结果 - 字符串连接

c - hashResult 变量没有存储正确的值

Windows - 在 PATH 上找不到文件, '.' 不在 PATH 中

c++ - 1 IntelliSense : expected a ')' c:\program files (x86)\microsoft visual studio 10. 0\vc\include\crtdefs.h 551 13 - 构建时出现 Visual Studio 错误

c++ - C1001 : An internal error has occurred in the compiler when including <boost/shared_ptr. hpp>

c++ - 如何使用 Qt 将两个 QComboBoxes 与 C++ 互连

C++ 析构函数格式

c++ - 如何从 C++ 中的内部 union 访问类成员

windows - 在windows server 2008上部署go web项目

asp.net-mvc - Visual Studio : How to override the default "Build Action" for certain extension types per project or solution?