“系统无法执行指定的程序”的解决办法
来源:互联网 发布:智能云网络摄像头app 编辑:程序博客网 时间:2024/06/05 09:17
一个其它公司用VS2005编译产生的exe文件,在机器上执行报“系统无法执行指定的程序”。想了很多办法。反复的安装卸载了很多版本的VS。因为只用到了VC++,其它的组件都没有安装,还是反复的报错。
网上查查,最后找到了一个人说要重新安装“vcredist_x86.exe”。一试果然好用。当然这是对产生的exe文件是release版本的。对于debug版本的就比较麻烦了。摘录如下:
1、在开发组的机器上(安装有vs2005)有时都不能启动
这一般是项目的文件被放在了fat/fat32分区上导致的, 解决方法是把它们都移动到ntfs分区上, 或者把“项目属性|Manifest Tool|General|Use FAT32 Work-around”设为yes。
2、开发组运行正常, 换到其它机器上就不行了
这一般就是系统dll(包括crt,mfc,atl等)没有正确配置导致的。 如果程序是release版, 那么很简单, 只要把“/SDK/v2。0/BootStrapper/Packages/vcredist_x86”下的"vcredist_x86。exe"拷贝到目标机器上运行即可, 这是以x86平台为例的, 如果你用的是别的cpu平台(amd64或ia64)把x86替换成相应的内容就可以了。
如果是debug版, 就复杂一些了, 首先要确定你需要的dll的版本, 绝大多数(注意:不是"所有")情况下它和编译器的版本相同, 通过vs2005的关于对话框就能看到, 如下图所示:
确定版本后, 在开发组的机器上进入“%windir%/winsxs"文件夹(下面将以x86平台8.0.50727.762版本的debug crt为例进行说明), 拷贝以下文件到目标机器的相同位置即可:
x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_5490cd9f文件夹下的所有文件
Manifests文件夹下的x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_5490cd9f.cat和x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_5490cd9f.manifest
Policies/x86_policy.8.0.Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_x-ww_09e017b4文件夹下的8.0.50727.762.cat和 8.0.50727.762.policy
注意, 上面的操作只是在目标操作系统为winxp,win2003及以上时才需要的, 如果是win2000及以下的系统, 只要把第一个文件夹下的文件拷贝到system32中就行了。
附:
msdn上有关vc应用程序部署的几片文章, 供参考
Troubleshooting C/C++ Isolated Applications and Side-by-side Assemblies:http://msdn2.microsoft.com/en-us/library/ms235342.aspx
Deployment Examples:http://msdn2.microsoft.com/en-us/library/ms235285(VS.80).aspx
以下是与这个问题相关的一些系统提示信息, 为了让碰到这些问题的人更容易搜到这篇文章, 我把它们列在这里.
参照的汇编没有安装在系统上
应用程序要求的组件版本同另一个活动的组件有冲突。
系统无法执行指定的程序
ERROR_SXS_ASSEMBLY_NOT_FOUND
14003
0x800736B3
The referenced assembly is not installed on your system.
- “系统无法执行指定的程序”解决办法
- “系统无法执行指定的程序”的解决办法
- postgresql 8.4 执行initdb时“系统无法执行指定的程序”的解决
- vs执行程序时提示无法启动程序,系统找不到指定的文件
- Vc++遇到的问题(error LNK2001问题和"系统无法执行指定的程序"问题)
- 【BUG笔记】Visual Studio中“无法启动程序,系统找不到指定的文件”的解决办法
- VS2008生成的程序无法在其它电脑上运行,提示系统无法执行指定的程序
- 报表程序无法执行也无法删除的一种解决办法
- 运行C#编译出来的命令行程序出现“系统无法执行指定的程序。”的原因及解决方案
- VS2005:无法启动程序,系统找不到指定的文件解决方法
- VS2008 无法启动程序 系统找不到指定的文件
- Bug:无法启动程序 系统找不到指定的文件
- VS2008 无法启动程序 系统找不到指定的文件
- vs2010 无法启动程序 系统找不到指定的文件
- VS2008 无法启动程序 系统找不到指定的文件
- vs2005 无法启动程序 系统找不到指定的文件---解决方案
- 无法启动程序 系统找不到指定的exe文件
- VS无法启动程序,系统找不到指定的资源
- 进程和线程的差别
- Sql Server 2005出现尚未备份日志尾部的问题
- windows和linux的内存管理
- 面向对象UML中类关系
- 在asp.net 2.0下后台向前台发脚本、弹出框的方法
- “系统无法执行指定的程序”的解决办法
- 持久层框架iBatis学习笔记
- 微博:推动世界的力量(第2版)
- 想发财还是买彩票吧
- 文字处理控件功能比较:TX Text Control vs. RichTextBox
- JS 动态修改 input 的 type 属性
- javascript脚本判断上传图片的大小宽度和格式
- 国际生态城市发展研讨会
- 广东中山市一手楼数月成交均价超出调控目标