MFC程序打包发布

来源:互联网 发布:suse linux 10 下载 编辑:程序博客网 时间:2024/05/13 05:21

MFC程序打包发布

调试完成一个版本的程序后,为了不让用户轻易看到自己的源代码,也算是保护知识产权的一种方式吧;或者想要拿到别的平台去跑,不想Copy工程编译生成,况且别的平台不一定有支持所有插件的环境。以上两个方面问题的一个常见解决办法就是将程序打包发布,生成一个常见的安装文件,让用户自己去安装,最终通过可执行文件来运行程序。

具有同样开发环境的前提下,只要将VS工程生成的Release下的所有文件以及程序中用到的支持文件,按照之前的路径格式放在一个文件夹下就可以。通过点击.exe文件就可运行,唯一需要注意的就是支持文件需要全,比如数据文件,美化用的图片、图标等。这里不再赘述。下面着重记录一种VS下创建安装程序的方法,以适应在不具备相同开发环境下的运行问题。

1.VS2008下新建一个安装工程:


2.在应用程序文件夹下新建文件夹,文件夹的拓扑结构要和原来的相同。按照本程序为例,data文件夹放支撑数据,setup文件夹放可执行文件以及dll,res文件夹放界面资源。

3.将相关文件添加到对应的文件夹下。

4.添加桌面和菜单快捷方式。新建.exe的快捷方式,并将此快捷方式分别放到“用户的程序菜单”和“用户桌面”中。(程序菜单中最好也新建一个文件夹,这样该软件的所有快捷方式都在一个文件夹下,比较合理)

5.添加卸载工具。同样在setup文件夹下添加D:\WINDOWS\system32下的msiexec.exe。创建快捷方式,重命名为“Unistall”放入程序菜单中。编辑该快捷方式的Arguments为/x+工程的ProductCode(右键工程查看属性)。

6.这时候生成,发现会警告警告:

应将“msiexec.exe”排除,原因是其源文件“D:\WINDOWS\system32\msiexec.exe”受到“Windows 系统文件保护”。

该提示是说系统盘受保护,没法用。这会导致Unistall用不了。最简单的解决方法就是copy出来一份放在别的位置,重新添加该文件,重新做第5步。

7.再次在Release下生成,在Release下看到一个.msi文件和一个setup文件。将该文件夹copy到桌面,安装一下。看到在桌面和开始菜单中都生成了对应的快捷方式。


如果在没有VS的环境下,可能还需要将VS相关的库文件加到工程中。但是网上有人说将原应用工程的配置属性改为“在静态库中使用mfc”就可以了。因为没找到没有VS的平台,因此没有测试。

PS:该工程可以定制安装过程,通过view 下可以看到很多丰富的设置。后续有时间可以研究一下。

 

0 0
原创粉丝点击