C++ vc++;2008安装程序项目msvcrt.dll

C++ vc++;2008安装程序项目msvcrt.dll,c++,windows,visual-studio,dll,C++,Windows,Visual Studio,Dll,您好,我正在使用以下系统。 windows 7 ultimate sp1 x64。 Visual Studio 9 C++SP1..BR/> directx sdk 9(我不知道我的指定版本,但它的版本高于2010年6月)。 boost x86 1.47 而且我的VisualStudio不是英文版本,所以我不能随意写菜单或消息的名称。但它的意思几乎是一样的。 我的项目是3D游戏。 我正在使用visual studio的“安装程序项目”创建项目的安装程序 并包含每个包含项目的依赖项DLL(使用v

您好,我正在使用以下系统。

windows 7 ultimate sp1 x64。
Visual Studio 9 C++SP1..BR/> directx sdk 9(我不知道我的指定版本,但它的版本高于2010年6月)。
boost x86 1.47

而且我的VisualStudio不是英文版本,所以我不能随意写菜单或消息的名称。但它的意思几乎是一样的。

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

当我在纯WindowsXPSP3上测试它时,安装(setup.exe)成功了。但是当我运行这个程序时,它会出错并且不会执行。


错误对话框是:

在动态链接库msvcrt.dll中找不到除\u handler4\u common之外的过程入口点。

(我的windows xp不是英语,但它几乎正确)

我尝试了下一步:
安装程序->“属性”> >“先决条件”> >“选择要安装的先决条件”> >添加检查到> > Visual C++ 2010运行时库(x86)..NET框架3.5 SP1> >“指定先决条件的安装位置”> >“从组件供应商的网站下载“先决条件”< < /P>

输出为
installerproject.msi
vcredit_x86.exe
setup.exe

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


请帮帮我。我很抱歉我的最短英语。这是我最好的英语技能

你可能想把你的程序加载到XP机器上,看看有什么二进制文件试图链接到msvcrt!\u除了handler4\u common

<代码> MsCRCR.DLL< /Cord>是系统DLL,不是Visual C++ 2008的一部分(或2010——您使用的不清楚)运行时库.VC++2008的运行时DLL名为
msvcr90.DLL
,因此我猜对msvcrt.DLL有一些间接依赖。您需要弄清楚从
msvcrt.DLL
导出的二进制文件是什么,并确定它是否与WinXP兼容,或者如何使其兼容

请注意,由于
msvcrt.dll
是一个系统dll,它处于Windows的系统文件保护功能下,因此通常只能通过service Pack和系统更新对其进行更新/修改

仅供比较:

  • 此处运行WinXP SP3的计算机具有
    msvcrt.dll
    version 7.0.2600.5512-它没有
    \u,除了\u handler4\u common
    入口点
  • 另一台运行Win7 SP1 x64的机器有一个32位的
    msvcrt.dll
    version 7.0.7600.16385,它确实有这个入口点

谢谢,您的回答对我非常有用。d3d9.dll依赖于msvcrt.dll