2009-02-20 95 views
11

我即将开始一个新的InstallShield项目。有三种选择项目类型:选择InstallShield项目类型

  1. 基本MSI
  2. 的InstallScript
  3. 的InstallScript - 微星

各有什么优点和缺点?我应该选择哪一个?

+0

请阅读我的评论如下。 **不惜任何代价**避免Installscript MSI项目类型。 – 2014-07-25 22:17:36

回答

18

基本MSI

这是标准的安装类型。它使用Windows安装程序进行几乎所有的安装(先决条件,语言选择和其他一些事情由setup.exe处理)。 MSI是一个包含许多表格的数据库,用于描述安装的工作方式。起初桌子的数量可能有点压倒性,但InstallShield在提取它的方面做得很好;大多数情况下,您不需要直接编辑数据库表。

这是最常见的安装类型,所以关于它的信息很多。 InstallShield forum是一个很好的信息来源。此外,许多安装使用MSI,所以如果您了解它们,将更容易理解其他安装的功能(例如,如果您需要安装其他制造商的MSI作为安装的一部分)。使用命令行参数可以轻松完成静默安装。

不幸的是,由于MSI通过数据库表来控制安装,所以有一点学习曲线。如果你最终不得不直接编辑MSI表格,那么起初可能会引起混淆,因为有许多表格,并且它们的一些目的和交互都很微妙。此外,在MSI中创建和排序对话框更加困难,因为所有交互都需要由表格控制。自定义MSI对话框可以创建,但仅限于C++。

我会推荐这个项目类型的大多数用途。

的InstallScript

这些项目使用安装脚本来安装软件,而不是Windows安装程序。由于安装脚本是一个线性程序,因此可以更容易地理解它的工作原理。该项目类型的一个优点是创建和排序对话更容易。另外,InstallScript对话框可以变成皮肤,看起来比MSI对话框好一点。运行无提示安装需要单独的“响应文件”来控制UI。除非您有特定的理由(例如,如果您必须以MSI不支持的方式非常精确地控制安装的行为),否则我不会推荐使用此项目类型。

的InstallScript MSI

这基本上是使用的InstallScript控制UI和MSI控制实际安装基本MSI项目。它具有使用MSI控制安装的优势,但使用对话框更容易。它仍然需要一个响应文件来在无提示安装期间控制UI。如果你不关心无声安装或者有一个复杂的UI对话框序列,你可能会觉得这个项目类型很有用。

+5

从战壕中取出它:不要使用Installscript MSI。这是非常麻烦的,它会导致企业部署的各种问题,并且总体上将击败微星作为部署技术的目的和优势。我可以继续这样做,但不会浪费你的时间。听取我的意见,为自己节省很多麻烦。如果您需要MSI或InstallScript的部署功能(如果您需要传统样式的部署脚本),则选择为Basic MSI。 MSI有一个学习曲线,但大大提高了企业部署。 – 2009-07-03 18:14:18