VC2005中MFC程序的部署问题

在VC6中,Release版本的程序的部署,除了程序自身关联的各个Dll之外,只需添加MFC42.dll即可。

在VC2005中,发生的变化包括:

1.MFC的版本发生变化,最新的版本为8.0,所有应该包括MFC80.dll

2.在VC2005的架构下,采用manifest进行dll的版本确认,因此需要添加MFC程序所需的manifest文件。

在VC2005的安装目录下:D:"Program Files"Microsoft Visual Studio 8"VC"下有一个文件夹为redist专用于

程序的部署和发布。在其中的x86文件夹用于Release版本的程序发布,其中的Microsoft.VC80.MFC文件

夹用于发布MFC程序,包括混合有Unicode以及CLR的程序,可以根据程序需要选择copy。对于我个人的

单纯MFC的程序,只需要复制Microsoft.VC80.MFC.manifest和mfc80.dll即可。其余几个,文件名称中带有

“u”的表示兼容unicode编码,带有“m”表示使用托管代码生成规则。

       还有另一个解决manifest文件的办法:

     在VC2005的开发环境下,选择项目属性-->清单工具-->输入和输出,在潜入清单位置,选择“否”,这

样VC2005将会直接在Release目录下,exe文件的旁边为您生成一个同名的manifest文件,文件内容和

Microsoft.VC80.MFC.manifest有关联。直接复制这个文件也可以起到效果。

      对不太熟练的开发人员,可以直接将这些dll统统复制到自己的exe文件所在目录下,应该可以确保万无

一失,只不过有的文件没有被利用而已。

      最简单的程序发布方法莫过于直接复制文件,对依赖的dll文件,可以直接和exe文件放在同一个文件夹下,

而不将其复制到系统文件夹下。  

posted on 2009-08-04 15:09  oskycar  阅读(1569)  评论(1编辑  收藏  举报

导航