如何解决"应用程序无法启动,因为应用程序的并行配置不正确"问题

应用程序事件日志中:

“C:\windows\system32\test.exe”的激活上下文生成失败。 找不到从属程序集
Microsoft.VC80.MFC,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.762"。
请使用 sxstrace.exe 进行详细诊断。

出现这类问题,是由于VC2005编译出来的程序文件,采用了manifest方式来指定dll文件。对于win98、win2000系统,把exe文件和VC的
dll连接库放到一起就成了。对于winxp、win2003系统就要麻烦的多了,VC的连接库默认是被放到了winsxs目录下。

解决办法就是:使用vcredist_x86.exe再次分发程序。

下载地址:(http://download.microsoft.com/download/7/9/8/798325b7-8993-4ef9-9148-8db9ff4187fc/vcredist_x86.exe

  1. 对解决方案来说,VS设置成debug版本和release版本是不一样的。关键在于打包的时候的manifest所制定的路径不同。
  2. 对于部署的程序,VS有两套方案,共享并行程序集和私有程序集部署方法,前者其实就是依赖的东西在目标机的windows\winsxs目录下,后者要求程序自带
  3. 编译程序的时候,主要设置在两个地方,第一个是项目的general配置里面的MFC,第二个是项目配置里面的C/C++下面的Code
    Generation里面的Runtime Library设置里面。如果你的程序在修改过之后还能编译的话,那就可以了。

今天在准备发布用VS2005写的那个程序时,拷贝到我同事机器上,双击突然出现了“由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题“,这个问题很让我意外,以前只出现过缺少DLL的情况,而这次出现这个问题,让我一时没办法。想想,无非是两个原因引起的,要么是他没有安装VS2005的原因,要么是我的程序里依赖了其它的一些库。于是百度一下,发现好多相关主题。我是按照这个帖子解决的:

在VS2005下用C++写的程序,在一台未安装VS2005的系统上,
用命令行方式运行,提示:
“系统无法执行指定的程序”
直接双击运行,提示:
“由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题”

以前用VC6和VS2003的话, 如果缺少库文件,是会提示缺少“**.dll”,但是用VS2005却没有这样的提示。

自己实验了一下,感觉以下几种解决办法是可行的:
方法一:
在类似C:\Program Files\Microsoft Visual
Studio 8\VC\redi
st\Debug_NonRedist\x86\Microsoft.VC80.DebugCRT 下找到了下列文件:

msvcm80d.dll
msvcp80d.dll
msvcr80d.dll
Microsoft.VC80.DebugCRT.manifest

把这几个文件拷贝到目标机器上,与运行程序同一文件夹或放到system32下,就可以正确运行了。

其他release版、MFC程序什么的都是拷redist下相应文件夹下的文件就可以了,文件夹后都有标识!

方法二:
修改编译选项,将/MD或/MDd 改为 /MT或/MTd,这样就实现了对VC运行时库的静态链接,在运行时就不再需要VC的dll了。

方法三:

工程-》属性-》配置属性-》常规-》MFC的使用,选择“在静态库中使用mfc”
这样生成的exe文件应该就可以在其他机器上跑了。

方法四:

你的vc8安装盘上找到再分发包vcredist_xxx.exe和你的程序捆绑安装。

时间: 2024-11-03 21:51:38

如何解决"应用程序无法启动,因为应用程序的并行配置不正确"问题的相关文章

win7安装QQ时弹出提示“应用程序无法启动因为并行配置不正确”如何解决

  刚刚安装完windows7操作系统后需要安装一些常用的程序软件,比如QQ.office等等.有用户反应在Win7系统中安装QQ的时候弹出提示"应用程序无法启动因为并行配置不正确"导致无法正常安装,该如何解决?出现这样的情况,首先我们确保系统服务是否运行正常,系统中的运行库是否已安装.本教程以win7纯净版系统为例,给大家演示具体解决方法. 步骤:运行库 1.下载"Microsoft Visual C++"运行库; 2.将运行库进行安装; 具体步骤: 1.按下&q

解决win10打开QQ提示应用程序无法启动因为并行配置不正确方法

我们有时碰到在打开QQ时提示"应用程序无法启动,因为应用程序的并行配置不正确.请参阅应用程序事件日志,或使用命令行sxstrace.exe工具"问题的处理方法. 方法一: 点击win10左下角"开始 - 运行(输入services.msc)-"然后确定即可打开win10的本地管理: 在本地服务管理窗口中我们点击:Windows Modules Installer服务,查看是否被禁用 如果是彬的我们可以开启它: 如果Windows Modules Installer服

XP系统提示“程序并行配置不正确”如何解决

  XP系统提示"程序并行配置不正确"怎么办?这个问题是我们在安装软件过程中经常会遇到的.一些xp系统用户发现软件老是安装失败,且提示"程序并行配置不正确".针对此问题,下面小编就给大家介绍XP系统提示"程序并行配置不正确"的解决方法. 解决方法一: 1.系统的安装模块服务被禁止了,就会造成程序无法安装,会提示"应用程序无法启动,因为应用程序的并行配置不正确.",出现这样的问题的解决方法是启用模块安装服务.先在开始菜单中,打开

Vista下使用VS2008编译.EXE的C#程序 出现错误"无法加载 DLL“api_clnt.dll”: 应用程序无法启动,因为应用程序的并行配置不正确。有关详细信息,请参阅应用程序事件日志。 (异常来自 HRESULT:0x800736B1)"。

问题描述 Vista下使用VS2008编译.EXE的C#程序出现错误"无法加载DLL"api_clnt.dll":应用程序无法启动,因为应用程序的并行配置不正确.有关详细信息,请参阅应用程序事件日志.(异常来自HRESULT:0x800736B1)".api_clnt.dll是由C++语言实现的我想问下这个错误是由VISTA系统引起的,还是VS2008引起的呢,因为之前在XP系统下用VS2005编译时是正确的还有怎么解决谢谢 解决方案 解决方案二:先给自己顶下解决方

广告-在android应用程序中启动其他apk程序,被启动程序退出后返回之前的程序

问题描述 在android应用程序中启动其他apk程序,被启动程序退出后返回之前的程序 大家好,我现在遇到这样的情况,我目前做的是一个android积分墙的项目,用户通过我的这个项目app做任务下载一个广告,当用户进入到我们的下载广告的apk 后,玩了一段时间后(玩了一段时间才会给积分),点击后退,当前的 广告apk 是退出了,同时我们的项目也退出了(原本我们的项目逻辑是不会退出的),回到了桌面......我们自己测试的时候并没有出现这样的情况,但是用户遇到了,并且用户反馈再次重启手机的时候,再

Android编程实现在一个程序中启动另一个程序的方法

本文实例讲述了Android编程实现在一个程序中启动另一个程序的方法.分享给大家供大家参考,具体如下: Android 开发有时需要在一个应用中启动另一个应用,比如Launcher加载所有的已安装的程序的列表,当点击图标时可以启动另一个应用. 一般我们知道了另一个应用的包名和MainActivity的名字之后便可以直接通过如下代码来启动: Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEG

Win8系统程序打不开提示并行配置不正确怎么办?

Win8系统程序打不开提示并行配置不正确怎么办?   1.使用Windows+R组合键调出运行窗口,输入services.msc,确定; 2.打开服务窗口,查看Windows Modules Installer是否启用; 3.如果被禁用,启动该服务,双击打开将启动类型设置为"手动"或"自动"; 4.重启系统,再次打开应用程序,或者重新安装应用程序;

Win7应用程序并行配置不正确怎么办?

  有时候我们在安装一款软件的时候,发现软件怎么安装都安装不了,并且提示"程序并行配置不正确".Win7系统的用户也遇到这个问题,都不知道怎么解决?下面就由小编给大家说一下Win7系统应用程序并行配置不正确怎么办. 操作步骤: 方案一: 安装VC++2005 方案二: 从QQ官网下载Vcredist_x86.exe 注:如果安装Vcredist_x86.exe报错,请在vcredist_x86.exe上点右键解压(不能解压请把扩展名改为".RAR"),打开解压好的文

Win8提示应用程序无法启动因为并行配置不正确怎么办?

  1.使用Windows+R组合键调出运行窗口,输入services.msc,确定; 2.打开服务窗口,查看Windows Modules Installer是否启用; 3.如果被禁用,启动该服务,双击打开将启动类型设置为"手动"或"自动"; 4.重启系统,再次打开应用程序,或者重新安装应用程序;