转载:http://blog.csdn.net/wuxiaoqrs/article/details/45717695
InstallScript vs. Basic MSI
InstallScript工程利用InstallScript脚本语言控制安装过程,以下一些说明也许是你选择InstallScript工程的理由:
InstallScript脚本语言容易学习。
-
- 这种工程类型中,你可以显示全屏的广告板(背景图)。
- 这种工程类型利用了InstallScript脚本语言,能够让你写程序控制安装过程,而不是填写一些表格数据。
- InstallScript类型工程比Basic MSI类型的工程更容易学习。InstallScript工程的学习曲线比Basic MSI工程的短很多。
- InstallScript允许你在安装之前或之后执行自己的操作,可以利用事件驱动模型,这对于Windows开发是非常有用的。
- 如果你在维护一个InstallScript工程,那只能选择InstallScript工程类型。
- InstallScript工程没有使用Windows Installer,所以你的安装程序无法进行Windows Vista和Windows 7的Logo认证。
Basic MSI工程利用Windows Installer服务来进行安装,以下一些说明也许是你选择Basic MSI工程的理由:
-
- 你的安装程序需要进行Windows Vista和Windows 7的Logo认证。这也是使用Windows Installer的主要需求之一。
- 你不想利用脚本语言控制你的安装过程。
- 你进行Basic MSI工程的维护工作,不得不选择Basic MSI。
- 你想最大化的与Microsoft SMS管理工具兼容。
- 学习Basic MSI工程需要更长时间的学习曲线。
InstallScript vs. InstallScript MSI
如前面所介绍,InstallScript工程基于InstallScript脚本控制。如果有以下需求,推荐使用InstallScript类型的工程:
-
- 对用户界面有更高的需求,需要自定义安装界面。
- 安装时你需要全屏的背景广告板。
- 你喜欢写程序控制安装过程,而不是填写一些表格数据。
- 你倾向在安装之前或之后执行自己的操作。
- 你需要升级一个已有的InstallScript工程。
InstallScript MSI是InstallScript工程类型和Basic MSI工程类型的混合,执行安装的过程中它既用到Windows Installer,也用到了InstallScript引擎。如果有以下需求,推荐使用InstallScript MSI类型的工程:
-
- 需要进行Windows Vista和Windows 7的Logo认证。
- 对用户界面有更高的需求。
- 你喜欢写程序控制安装过程,而不是填写一些表格数据。
- 你倾向在安装之前或之后执行自己的操作。
- 你需要升级一个已有的InstallScript MSI工程。
/
Basic MSI vs. InstallScript MSI
- Basic MSI工程中可以通过属性表修改窗体运行顺序,而在InstallScript MSI工程中可以通过修改OnFirstUIBefore事件中窗体的顺序完成。
- Basic MSI工程中的脚本文件并没有给定的事件驱动,需要自己添加,而Installscript MSI工程中可以选择产生事件函数。
(注:在Installscript工程和Installscript MSI工程中我们可以通过脚本文件在安装过程中运行第三方软件包,包括后缀名为exe,msi等,然而在Basic MSI工程中并不能运行msi,可以运行exe,这是因为Basic MSI工程执行安装的过程中用到Windows Installer了,本身产生的安装文件就是msi的,如果再运行会弹出错误,不能同时运行两个。选择InstallScript MSI是最好的选择。)