应用程序无法正确初始化(0xc0150002)[重复]

问题描述 投票:0回答:3

这个问题在这里已有答案:

我在Windows Server 2000 sp4上运行的visual studio 5中创建的mfc应用程序,我为它创建了一个发行版并尝试运行它win xp slp2。它给我的应用程序无法正确初始化(0xc0150002)

我试过以下的东西 - 安装Microsoft Visual C ++ 2005 SP1可再发行组件包(x86),发布文件夹中的一个以及可从网站下载的一个从microsoft visual sutdio \ vc \ redist复制所有dll和mainfest

我仍然收到同样的消息。 C

可能出现什么问题?我该如何解决?

windows visual-studio visual-c++ visual-studio-2005
3个回答
0
投票

一些要检查的事情:

  • 检查项目的/ SUBSYSTEM链接器选项。它可能包括OS主要/次要版本号。
  • 确保您在DEV计算机上使用适当的Windows XP PlatformSDK;检查WINVER,_WIN32_WINNT的值
  • use取决于查看问题是否在未解决的依赖项中
  • 检查应用程序所需的运行时版本与目标计算机上的版本。我通常通过从一侧查看应用程序的清单并从另一侧查看目标计算机的WinSxS文件夹来执行此操作(最近有来自Microsoft http://msdn.microsoft.com/en-us/visualc/ee309358.aspx的ATL安全更新;更新的Visual Studio创建的新二进制文件将无法在具有避风港的计算机上运行运行时的更新版本相同。

0
投票

您可能已对VS2005 SP1应用了安全更新或编译器更新。这使得它生成一个清单,请求与使用Microsoft Visual C ++ 2005 SP1可再发行组件包(x86)安装的MFC / CRT-dll不同的MFC / CRT-dll。

尝试使用Depends.exe并打开您的应用程序,然后在菜单中选择“配置文件”。查看下面的输出窗口以获取更详细的说明。


0
投票

您是否尝试运行调试版本?这可能会给你一个类似于0xc0150002的错误。尝试发布版本,或者您可以针对静态库而不是动态库进行编译。如果你在发布版本上遇到这个问题,那么很可能它是一个缺少的dll(在这种情况下尝试运行Depends.exe)或不正确的清单。

如果您缺少对运行时dll的依赖,则可以尝试为其创建部署项目,因为这将检测相应的运行时dll并将其构建到安装程序中。

© www.soinside.com 2019 - 2024. All rights reserved.