编译好的程序在装有只在VS2005的电脑上可以正常运行,在其他机子上就说“配置不正确,重新安装可能会纠正该问题”。
发布程序最基本的就是要把程序的依赖库包含在你的发布程序中,通过发布程序将依赖库复制到目标机器的相应目录中。VS2005生成的程序和VS2003、VS6差不多,只是VS2005连接共享库需要通过manifest文件来定位共享库的位置和版本,这个在VS2003的时候就有了,只是VS2003生成的程序不是严格按照这个方式连接共享库的,VS2005生成的程序基本上都会产生一个相应的manifest文件,你也可以通过VS2005的清单工具选择嵌入清单到应用程序中,不过在FAT32文件系统中可能会出现一些问题,你只要在清单工具中选择支持FAT32选择就可以了,发布程序到目标机器的时候先用depends工具察看一下应用程序的依赖管理,然后将特有的库文件(比如mfc80u.dll msvcr80.dll)和应用程序打包在同一目录中拷贝到目标机器中就可以运行了。还要把共享库对应的manifest文件也一起带上。
最简单的解决办法就是在目标计算机上安装VC2005重新分发包叫做vcredist_x86.exe,不过要提醒你的是,这个分发包必须和你用来编写程序的VC2005版本一致。因为VC2005 express版,VC2005,和VC2005+SP1这三个VC2005的开发环境分别有三个对应版本的vcredist_x86.exe
还有一种办法就是静态链接运行时的各种库,包括MFC库,VC运行时库
最提倡的办法是用VC2005制作安装包,这种办法只能用于VC2005而不能用于VC2005 express版
发布程序最基本的就是要把程序的依赖库包含在你的发布程序中,通过发布程序将依赖库复制到目标机器的相应目录中。VS2005生成的程序和VS2003、VS6差不多,只是VS2005连接共享库需要通过manifest文件来定位共享库的位置和版本,这个在VS2003的时候就有了,只是VS2003生成的程序不是严格按照这个方式连接共享库的,VS2005生成的程序基本上都会产生一个相应的manifest文件,你也可以通过VS2005的清单工具选择嵌入清单到应用程序中,不过在FAT32文件系统中可能会出现一些问题,你只要在清单工具中选择支持FAT32选择就可以了,发布程序到目标机器的时候先用depends工具察看一下应用程序的依赖管理,然后将特有的库文件(比如mfc80u.dll msvcr80.dll)和应用程序打包在同一目录中拷贝到目标机器中就可以运行了。还要把共享库对应的manifest文件也一起带上。
最简单的解决办法就是在目标计算机上安装VC2005重新分发包叫做vcredist_x86.exe,不过要提醒你的是,这个分发包必须和你用来编写程序的VC2005版本一致。因为VC2005 express版,VC2005,和VC2005+SP1这三个VC2005的开发环境分别有三个对应版本的vcredist_x86.exe
还有一种办法就是静态链接运行时的各种库,包括MFC库,VC运行时库
最提倡的办法是用VC2005制作安装包,这种办法只能用于VC2005而不能用于VC2005 express版
浙公网安备 33010602011771号