应用程序正常初始化(0xc0150002)失败的解决办法

4 篇文章 0 订阅

1. 问题描述

本机使用VS2005开发,在本机上能正常运行。将程序部署到没有VS2005的电脑上会提示 "应用程序正常初始化(0xc0150002)".

 


打开”事件查看器“-”系统“ 看到以下信息:




2.问题分析

 程序发布时是使用了release版本,但是程序需要引用一个sqlite3.dll, 这个dll是使用vs2005 在debug模式下编译得到的。因此在运行程序时,加载sqlite3.dll,而这个dll是Debug下的DLL, 可能需要 VS的运行库支持。可以通过查看manifest文件查看这个DLL的依赖项目。

sqlite3.dll.intermediate.manifest 文件内容

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type='win32' name='Microsoft.VC80.DebugCRT' version='8.0.50608.0' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
    </dependentAssembly>
  </dependency>
</assembly>


3. 解决方法

通过上面分析,知道是因为提供的debug模式下的DLL需要 VS的运行库支持的原因,因此可以有两种解决办法。

A. 找到需要的库文件一起发布

路径 C:\Program Files\Microsoft Visual Studio 8\VC\redist\Debug_NonRedist\x86\Microsoft.VC80.DebugCRT


B.发布release版本(包括DLL)

最终我是通过B方法解决了问题。  使用A方法时我在电脑上搜索了好多相关的DLL,但不知道具体使用那些DLL。


4.其它参考信息

http://hi.baidu.com/jianggx/blog/item/a21e658eacbacfe2f11f36d8.html

http://blog.csdn.net/diskingchuan/article/details/6655123



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值