2009-08-05 56 views
0

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

我曾尝试下面的东西 - 安装的Microsoft Visual C++ 2005 SP1可再发行组件包(x86)自带的发行文件夹内,以及一个可下载的网站 复制的一个从微软视觉sutdio \ vc \ redist所有dll和mainfest

我仍然收到相同的消息。 ç

可能是错误我该如何解决

+0

http://stackoverflow.com/a/10084733/279982 – atoMerz 2012-11-10 07:52:41

回答

0

一些事情要检查:

  • 为您查询投影/子系统链接器选项。它可能包含操作系统主要/次要版本号。
  • 确保您在DEV机器上使用适当的Windows XP PlatformSDK;检验用WINVER的值,_WIN32_WINNT
  • 取决于,看看问题是否在未解决的依赖
  • 检查时的版本的应用程序需要与目标计算机上。我通常通过从一侧查看应用程序的清单并从另一侧查看目标机器的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并将其构建到您的安装程序中。