由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题

 我们用 VS 2005 编写非托管的程序, 在一台未安装 .net 开发环境的机器上运行会出现

"由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题"。

开始时还以为必须要安装 .net Framework 2.0 , 然后安装了 .net Framework 2.0 。发现仍然报错。此时晕了, 这是为什么呢?

网上一查: 才知道是缺少 DLL 文件, 可是我的程序里面有一部分是 MFC 写的,有一部分是 Win32 , 还有很多 DLL, 以及驱动程序,缺少的DLL那就多了, 而且MFC 和 Win32 需要不同的 DLL。

后来用 dependens.exe 查看了各个应用程序需要哪些额外的DLL文件, 发现有些 DLL 确实是目标机器中没有的 ,难怪会报错. 以前用 VC 6.0 时 如果缺少 DLL 会给出提示,现在不给提示真让人晕了,该死的 MS

我做了下面的试验:

(1) 采用 VS 2005 默认的编译器选项, 构建 Win32 程序, 检查他需要哪些额外的 DLL。编译选项如下图所示:


build 后检查生成程序需要下面的 DLL:

MSVCR80D.DLL, msvcrt.dll  在本机我找到了这2 个文件并和应用程序放在了同一目录下, 结构还是报错误。根据已有的资料我知道,还缺少文件, 继续找。

我的VS安装在 E: 盘, 从下面路径中找:

E:/Program Files/Microsoft Visual Studio 8/VC/redist/Debug_NonRedist/x86/Microsoft.VC80.DebugCRT 我们需要从这个文件夹中拷贝文件 Microsoft.VC80.DebugCRT.manifest ,该文件是文本格式的, 包含了版本信息。

注意现在我们构建的是 Debug 版本, 需要从这个文件中得到该文件。

总结: 构建 Win32 程序时, 采用VS默认的编译选项, 需要下面文件:

(1) MSVCR80D.DLL

(2) msvcrt.dll (我测试过这个文件 , 即使没有也没有关系, 为了保险起见还是加上吧)

(3)E:/Program Files/Microsoft Visual Studio 8/VC/redist/Debug_NonRedist/x86/Microsoft.VC80.DebugCRT/Microsoft.VC80.DebugCRT.manifest

现在再试验一下 Release 版本的:

Release 版本的程序直接就可以运行, 根本就不需要什么其它的文件。

我又测试了其它几个项目, win32 Release 版本不需要其它的文件。


MSVCR80D.DLL

MFC: 现在我添加了
mfc80d.dll
mfc80ud.dll
Microsoft.VC80.DebugCRT.manifest
Microsoft.VC80.DebugMFC.manifest
msvcr80d.dll
debug 版本才可以运行

更详细信息:

http://www.busfly.cn/post/5.html

当您遇到“应用程序无法启动,因为应用程序的并行配置正确”的错误信息时,这通常意味着操作系统检测到您的应用程序尝试在同一时间运行多个实例,并且它认为这种行为不符合预期的配置。 这种错误的原因可能是: 1. **自启动设置**:应用程序在安装过程中可能设置了自启动服务,导致每次系统启动时都自动运行该应用。如果这个服务被意外地添加或移除,可能引起此错误。 2. **脚本或服务文件**:外部脚本、计划任务或服务可能在错误的时间或频率触发了应用程序启动。例如,定时任务在一个特定时间点启动应用,而该时间点正好与系统期望的进程并发限制相冲突。 3. **依赖服务问题**:应用程序可能依赖于其他服务或组件,在特定状态下才能正常启动。如果这些依赖的服务未按预期启动,也可能引发“并行配置正确”的错误提示。 4. **资源冲突**:有时,应用程序需要特定类型的系统资源(如CPU核心、内存或文件句柄),并且如果资源分配不当,可能导致并发问题。 解决此类问题的一般步骤包括: - **检查服务管理器**:确认是否有关于服务或启动项的异常设置,确保它们按照设计意图工作。 - **审查自动启动机制**:查看注册表键值、计划任务列表以及启动项中是否有不必要的自动启动设置。 - **优化资源使用**:确保应用程序对所需资源的需求得到合理分配,避免过度消耗系统资源。 - **排查依赖**:确认所有必要的依赖服务或组件都已经正确安装并处于可用状态。 - **调整配置文件**:检查应用的配置文件,看看是否存在影响并发性的配置选项,比如最大允许并发连接数等。 如果以上步骤未能解决问题可能需要深入查看应用程序的日志文件,寻找更具体的错误信息来定位问题所在。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Blue_Dream_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值