如何更好地利用MSI文件

时间:2009-01-19 19:36:40

标签: installation wix windows-installer installer msitransform

您可能知道,msiexec是一个命令行应用程序,可用于安装MSI文件。您可能知道,您可以在静默或不可见模式下运行它。

如果安装程序要求用户回答有关要安装哪些部分的特定问题,是否有一些方法可以在msiexec命令行中添加一系列选项来执行此操作?

我认为必须有某种方法来设置MSI文件的默认设置才能实现这一点。 MSI文件是如何制作的?它们是通过微软的工具开发的吗?它们可以打开和编辑吗?

3 个答案:

答案 0 :(得分:14)

将MSI的用户界面视为可选。这意味着没有答案应该是必需的,因为开发人员有合理的默认设置,这样事情就不会破坏。

我们以MSI格式向公司客户分发我们的软件,我还向他们提供有关Orca基础知识的文档( orca.msi Windows Installer SDK一起分发)以及如何自定义我们在Property表中列出的某些字段用于安装。如序列号,注册详情和其他一些设置。

在回答关于 msiexec命令行选项的原始问题时,只需运行MSIEXEC /?在命令行上设置属性,就可以使用类似

的内容
MSIEXEC /I test.msi SOMEPROPERTY="Some value" PROP2="something else"

答案 1 :(得分:11)

答案 2 :(得分:2)

如何配置静默MSI设置

可以通过设置安装程序使用的属性在命令行上配置MSI安装。有预定义的Windows Installer属性,例如ALLUSERS属性。此属性定义是在当前用户或计算机的上下文中完成安装。

有关可用属性的信息可以例如从可以使用msiexec的/ l选项

创建的安装日志中获取
msiexec /I mysetup.msi /l*vx log.txt

如何创建MSI文件

有很多方法可以创建MSI文件。 MSI文件基本上是一个由各种表组成的数据库,其中包含所有必要的设置信息和安装对话框。

Microsoft提供了一个简单的工具调用Orca,使您可以编辑现有的MSI文件,并允许您找出可以设置哪些属性来配置安装。从理论上讲,也可以使用这个工具创建新的MSI文件,但这是一种非常麻烦的方式。

如果您正在寻找免费的开源解决方案,我建议您查看SourceForge或Nullsoft上提供的WiX toolset。所有设置信息都通过XML文件完成,然后将其转换为MSI安装程序。 WiX稳定(虽然仍标记为beta),可用于生产。实际上它将集成在即将推出的Visual Studio 2010版本中。

当然也有商业解决方案,InstallShield是市场领导者(也是价格领导者),而Visual Studio可能是最广泛使用的工具。