我即将开始一个新的InstallShield项目.项目类型有三种选择:
基本MSI
安装InstallScript
安装InstallScript - 微星
每个的优点和缺点是什么?我应该选择哪一个?
基本MSI:
这是标准安装类型.它使用Windows Installer进行几乎所有安装(先决条件,语言选择以及其他一些由setup.exe处理的事情).MSI是一个包含许多表的数据库,用于描述安装的工作方式.表格的数量一开始可能有点压倒性,但InstallShield可以很好地抽象它; 大多数情况下,您不需要直接编辑数据库表.
这是最常见的安装类型,因此有很多可用的信息.该的InstallShield论坛是一个伟大的信息来源.此外,许多安装使用MSI,因此如果您了解它们,将更容易理解其他安装所做的事情(例如,如果您需要在安装过程中安装其他制造商的MSI).使用命令行参数可以轻松完成无提示安装.
不幸的是,由于MSI通过数据库表控制安装,因此有一点学习曲线.如果你最终不得不直接编辑MSI表,那么一开始可能会让人感到困惑,因为有很多表,而且它们的一些目的和交互是微妙的.此外,在MSI中创建和排序对话框更加困难,因为所有交互都需要由表控制.可以创建自定义MSI对话框,但仅限于C++.
我推荐这个项目类型用于大多数用途.
InstallScript:
这些项目使用安装脚本来安装软件而不是Windows Installer.由于安装脚本是线性程序,因此可以更容易理解它的工作原理.该项目类型的一个优点是创建和排序对话框更容易.此外,InstallScript对话框可以设置外观,看起来比MSI对话框好一点.运行静默安装需要单独的"响应文件"来控制UI.除非您有特定的理由(例如,如果您必须以MSI不支持的方式非常精确地控制安装行为),我不建议使用此项目类型.
InstallScript MSI:
这本质上是一个基本的MSI项目,它使用InstallScript来控制UI,MSI来控制实际的安装.它具有使用MSI来控制安装的优点,但使用对话框更容易.在静默安装期间,仍需要响应文件来控制UI.如果您不关心静默安装或具有复杂的UI对话框序列,您可能会发现此项目类型很有用.