一个其它公司用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版本的de