
如上图所示,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)