我即将开始一个新的InstallShield项目。项目类型有三种选择:
每个人的优点和缺点是什么?我该选哪一个?
发布于 2009-02-21 16:36:58
Basic MSI
这是标准的安装类型。它使用Windows进行几乎所有的安装(先决条件、语言选择以及其他一些事情由setup.exe处理)。MSI是一个包含许多表的数据库,这些表描述了安装的方式。起初,表的数量可能有点大,但InstallShield在抽象表方面做得很好;大多数情况下,您不需要直接编辑数据库表。
这是最常见的安装类型,所以有很多关于它的信息。InstallShield论坛是一个很好的信息来源。而且,许多安装都使用MSI,所以如果您了解它们,就会更容易理解其他安装的功能(例如。如果您需要安装另一个制造商的MSI作为安装的一部分)。使用命令行参数可以轻松地完成静默安装。
不幸的是,由于MSI通过数据库表控制安装,所以有一点学习曲线。如果您最终不得不直接编辑MSI表,那么一开始可能会很混乱,因为有许多表,而且它们的一些目的和交互是微妙的。另外,在MSI中创建和排序对话框更加困难,因为所有的交互都需要由表来控制。可以创建自定义MSI对话框,但只能在C++中创建。
我会推荐这种项目类型的大多数用途。
InstallScript
这些项目使用安装脚本来安装软件,而不是Windows。因为安装脚本是一个线性程序,所以可以更容易地理解它是如何工作的。该项目类型的一个优点是创建和排序对话框更容易。此外,InstallScript对话框可以被剥皮,看起来比MSI对话框要好一些。运行静默安装需要一个单独的“响应文件”来控制UI。除非你有明确的理由,否则我不建议使用这个项目类型。如果您必须以MSI不支持的方式非常精确地控制安装行为)。
InstallScript MSI
这本质上是一个基本的MSI项目,它使用InstallScript控制UI,使用MSI控制实际的安装。它的优点是使用MSI来控制安装,但是使用对话框更容易。在静默安装期间,它仍然需要一个响应文件来控制UI。如果您不关心静默安装或有一个复杂的UI对话框序列,您可能会发现这个项目类型很有用。
https://stackoverflow.com/questions/571685
复制相似问题