1

我使用 wix 3.6 创建了一个安装程序,它生成一个包含多个对话框(EULA、安装位置等)的 msi 文件。然后,我在启动 msi 的“软件安装”模式下使用 WinZip Self Extractor 创建了一个自解压 zip 文件。这一切都很好。

但是,一些用户要求使用不提示输入的“最小”安装模式,它只是使用所有默认值并安装。这将作为较大安装脚本的一部分用于管理员类型的安装。我可以将 /qb 传递给 msi 并获得他们想要的确切行为,但是如果我将 /qb 传递给自提取器 exe,它不会像我想要的那样将它传递给 msi。我查看了 WinZip Self Extractor 文档,但没有找到答案。关于如何使这项工作的任何想法?

4

1 回答 1

3

我不建议使用 WinZip 等通用自解压可执行文件,因为它们不缓存 MSI 文件。未来对 MSI 的操作(包括次要升级、补丁和修复)可能需要为 MSI 提供自解压器使用的名称(希望 WinZip 不会更改该名称),并将默认使用路径(通常为 %TEMP%)。发生这种情况时,用户通常会非常困惑,无法升级或修复他们的安装。

相反,我建议使用旨在安装包的 Bootstrapper/Chainer。WiX v3.6+ 带有一个名为的新功能Bundle,它使用新的 Burn 引擎来处理所有自解压场景,以及更多。预先创建需要更多的工作,但可以表现得完全像你在这个问题中提出的问题。

可能不是您正在寻找的答案,但我强烈建议您考虑使用真正的引导程序/链接器而不是自提取器。

于 2013-03-15T19:12:54.140 回答