VS 2005部署应用程序提示“应用程序无法正常启动( 0x0150002)” 解决方案
遇到这个问题,一定是缺少了CRT、MFC、ATL的DLL,不同版本的VS是不一样的。系统自带这些库的Release版,如果没有自带,打补丁就有了;系统不自带这些库的Debug版,所以Debug版的程序在一般电脑是不能正常运行的(不过装了对应版本的VS就可以正常运行了)。这篇博文对VS2008 部署应用程序 “应用程序配置不正确,程序无法启动”的问题有比较详细的解决方案,有兴趣的童鞋可以看一看。
如果是部署环境导致了这个错误,那么上一段提到的那篇博文足矣解决问题,如果是程序本身的错误,那么需要进一步进行排查。最近我的一个VS2005开发的项目,发布Rlease版本,部署到其他电脑的时候,有些电脑提示“应用程序无法正常启动( 0x0150002)” 如图1,有些正常。经过不断测试,发现该错误与XP、Win7和Win8系统无关,与是否安装VS2005环境有关。很明显,Release版的程序却需要Debug版的库,基本可以断定是我的程序出了问题。虽然通过安装VS2005或添加VS2005 Debug版的CRT、MFC、ATL库可以让程序运行,但这只是掩盖了问题,并没有解决问题。

图1 应用程序正常初始化 0x0150002失败
遇到这种莫名其妙的问题,直接Google报错提示是最佳选择,但是在Google到的方法都不起作用的时候,需要通过日志去分析到底哪里出问题,方法如下:
1、右键“计算机”,打开“管理”,选择“系统工具”—“事件查看器”—“Windows日志”—“应用程序”,如图2所示。右边可以看到错误信息,第一条就是我想要找的错误信息;

图2 查看应用程序出错日志
2、双击该错误信息,弹出图3日志信息。该信息比“应用程序无法正常启动( 0x0150002)” 有用多了,疑点有两个,一个是少了CRT库,另一个是ACE.dll有问题。毫无疑问,既然是发布Release版本,还要Debug版本的库,是这个ACE.dll出了问题;

图3 应用程序出错日志
回到VS2005查看程序,果然,之前太大意了,ACE.dll竟然是Debug版,难怪出问题了。重新编译Release的ACE.dll,替换原先的ACE.dll,问题解决。
VS 2005部署应用程序提示“应用程序无法正常启动( 0x0150002)” 解决方案的更多相关文章
- 【续集】在 IIS 中部署 ASP.NET 5 应用程序遭遇的问题
dudu 的一篇博文:在 IIS 中部署 ASP.NET 5 应用程序遭遇的问题 针对 IIS 部署 ASP.NET 5 应用程序的问题,在上面博文中主要采用两种方式尝试: VS2015 的 Publ ...
- Linux CentOS7部署ASP.NET Core应用程序,并配置Nginx反向代理服务器
前言: 本篇文章主要讲解的是如何在Linux CentOS7操作系统搭建.NET Core运行环境并发布ASP.NET Core应用程序,以及配置Nginx反向代理服务器.因为公司的项目一直都是托管在 ...
- 在IIS中部署ASP.NET 5应用程序遭遇的问题
用VS2015中创建了一个非常简单的ASP.NET5程序: 在Startup.cs中只输入一行代码: using System; using Microsoft.AspNet.Builder; usi ...
- windows server 2012 r2 iis8.5 部署asp.net mvc4/5程序小结
windows server 2012 r2 iis8.5 部署asp.net mvc4/5程序小结 原文链接:http://www.xuanhun521.com/Blog/66d491f8-b479 ...
- 提示“应用程序无法启动,因为应用程序的并行配置不正确”不能加载 System.Data.SQLite.dll
新版本SQLITE,如果下载Precompiled Binaries版会出现提示“应用程序无法启动,因为应用程序的并行配置不正确”不能加载 System.Data.SQLite.dll. 下载Prec ...
- 在Vista以上版本运行WTL程序,有时候会提示“这个程序可能安装补正确...”的错误
在Win7/Vista下,如何以兼容模式运行exe? https://msdn.microsoft.com/en-us/library/dd371711(VS.85).aspx 问题描 ...
- CentOS 7部署ASP.NET Core应用程序
看了几篇大牛写的关于Linux部署ASP.NET Core程序的文章,今天来实战演练一下.2017年最后一个工作日,提前预祝大家伙元旦快乐.不扯淡,直接进入正题.您有任何问题请在评论区留言. 1.环境 ...
- 彻底禁用Chrome的“请停用以开发者模式运行的扩展程序”提示
前言 作为一个前端程序员,难免会有一些专属自己的小扩展,没必要每一个都发到Chrome应用商店去,虽然可以勾选"开发者模式"来运行本地插件,但是每次启动都会有一个烦人的" ...
- 如何使用Docker部署一个Go Web应用程序
熟悉Docker如何提升你在构建.测试并部署Go Web应用程序的方式,并且理解如何使用Semaphore来持续部署. 简介 大多数情况下Go应用程序被编译成单个二进制文件,web应用程序则会包括模版 ...
随机推荐
- Redis - HyperLogLogs
A HyperLogLog is a probabilistic data structure used in order to count unique things (technically th ...
- Mac电脑svn使用经验,Mac电脑使用android studio使用经验
1.先查看mac本身是否自带java1.6 没有去appstore里面安装 2.http://www.android-studio.org/ 下载mac版的ide 3.安装完成ide后,打开and ...
- OC第一天-Xcode、工程组成及运行状态
Xcode 中iOS工程模版: 1.Application类型: Master-detail Application. 可以构建树形结构导航模式应用,生成的代码中包含了导航控制器和表示图控制器.(表示 ...
- Aisen仿新浪微博客户端项目源码
新浪目前已经限制了第三方微博的很多API接口,加上平常时间不够,所以后续可能不会面向产品的去维护Aisen,不过也有了一些新的方向,例如引入最新Android-support-library,在一个完 ...
- UEditor上传图片等附件都出现红叉
我的环境: vs2010+netframework3.5+ueditor1_3_5-utf8-net 问题:UEditor上传图片等附件都出现红叉 尝试了网络上各种方法都不对, 后来只能自己看下ima ...
- 插件笔记——dataTables使用说明
jquery DataTables中文使用说明 出处:http://blog.vunso.com/201405/jquery-datatables%E4%B8%AD%E6%96%87%E4%BD%BF ...
- 《HTML5网页开发实例详解》连载(四)HTML5中的FileSystem接口
HTML 5除了提供用于获取文件信息的File对象外,还添加了FileSystem相关的应用接口.FileSystem对于不同的处理功能做了细致的分类,如用于文件读取和处理的FileReader和Fi ...
- String 转Clob
把String转Clob java.sql.Clob c = new javax.sql.rowset.serial.SerialClob("abc".toCharArray())
- java实现的一个maven多模块项目自动生成工具
平时在做spring mvc web新项目时,都需要自己去搭建spring mvc的项目框架,包括基本pom 依赖引入,基本配置文件(web.xml,spring-mvc.xml,数据库配置文件等等) ...
- Windows远程centos6.5
linux系统:Centos6.5 1.首先确定是不是图形化界面: yum -y groupinstall Desktop "X Window System" chinese-su ...