【问题标题】:Choosing an InstallShield project type选择 InstallShield 项目类型
【发布时间】:2010-10-08 23:20:01
【问题描述】:

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

  1. 基本微星
  2. 安装脚本
  3. InstallScript-MSI

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

【问题讨论】:

  • 请阅读下面我的cmets。 不惜一切代价避免 Installscript MSI 项目类型

标签: installshield


【解决方案1】:

基本 MSI

这是标准安装类型。它使用 Windows Installer 进行几乎所有的安装(先决条件、语言选择和其他一些事情由 setup.exe 处理)。 MSI 是一个包含许多表的数据库,这些表描述了安装的工作方式。表的数量一开始可能有点庞大,但 InstallShield 在抽象方面做得很好;大多数时候,您不需要直接编辑数据库表。

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

不幸的是,由于 MSI 通过数据库表控制安装,因此存在一些学习曲线。如果您最终不得不直接编辑 MSI 表,一开始可能会感到困惑,因为有很多表,而且它们的一些用途和交互是微妙的。此外,在 MSI 中创建和排序对话更加困难,因为所有交互都需要由表控制。可以创建自定义 MSI 对话框,但只能在 C++ 中创建。

我会推荐这种项目类型用于大多数用途。

安装脚本

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

InstallScript MSI

这本质上是一个基本的 MSI 项目,它使用 InstallScript 来控制 UI,并使用 MSI 来控制实际安装。它的优点是使用 MSI 来控制安装,但使用对话框更容易。在静默安装期间,它仍然需要一个响应文件来控制 UI。如果您不关心静默安装或有复杂的 UI 对话框序列,您可能会发现此项目类型很有用。

【讨论】:

  • 从战壕里拿出来:永远不要使用 Installscript MSI。它非常有缺陷,会给企业部署带来各种问题,并且总体上违背了 MSI 作为部署技术的目的和好处。我可以继续说下去,但不会浪费你的时间。相信我的话,为自己省去很多麻烦。如果您需要 MSI 的部署能力,则选择 Basic MSI;如果您需要旧式部署脚本,则选择 InstallScript。 MSI 有一个学习曲线,但极大地改进了企业部署。
  • @kevin-kibler 我知道这已经有一段时间了,但是可以更新以涵盖 Advance UI 项目吗?
  • 对不起,我不熟悉。几年来我实际上没有使用过InstallShield。我最近一直在使用 wix 来处理我的(非常有限的)安装需求。
猜你喜欢
  • 1970-01-01
  • 2015-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多