木子屋 Dnawo's BLOG

InstallShield 2010制作程序安装包exe和msi文件区别

👤 dnawo 📅 2014-08-05 👁 25297 👍 0 💬 1 🔄 本站原创
图片

如上图所示,InstallShield 2010制作程序安装包会生成exe和msi两个文件,测试了下,两个文件都可以安装应用程序,它们有什么区别呢?

测试一

双击Setup.exe开始安装程序,在Windows任务管理器观察进程变化:

图片

根据观察结果可知:Setup.exe启动Setup.msi来安装应用程序。

测试二

在Redistributables钩选Microsoft .NET Framework 2.0 SP1,选择生成单个msi文件:

图片

图片

编译出错,错误信息如下:

Your project contains InstallShield prerequisites. A Setup.exe setup launcher is required if you are building a release that includes InstallShield prerequisites. Change your release settings to build Setup.exe, or remove the prerequisites from your project.

根据错误信息可知:单个msi文件不能安装必需项目,这个操作得由exe文件来完成。

最终结论:exe文件用于检测计算机环境以及安装必需项目,然后调用msi文件来安装应用程序,msi文件才是真正的应用程序安装包。

-------------------------------------------------------------------------------------------------

补充说明

如果选择生成单个exe文件,安装应用程序时会看到解压msi的过程,这说明也有生成msi文件,只不过它被包含在exe文件中:

图片

不推荐生成单个exe文件方式,实际测试可能会被安全软件阻止:

图片

评论(1)

nfcmaxiao 2014-10-26 23:45
大哥 你最近能看到我发的信息,请跟我联系,我有个制作安装包的问题需要你帮忙。多谢了 急!我的邮箱qq 83649332
计算题
评论需审核通过后显示
← 上一篇 我的中国联通3G套餐资费 下一篇 → 360杀毒误报及申诉