WinZip Self Extractor将命令行args传递给msi

时间:2013-03-15 18:30:25

标签: wix zip self-extracting

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

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

1 个答案:

答案 0 :(得分:3)

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

相反,我建议使用专为安装软件包而设计的Bootstrapper / Chainer。 WiX v3.6 +附带了一个名为Bundle的新功能,它使用新的Burn引擎来处理所有自解压方案,以及更多功能。需要更多的工作才能预先创建,但行为可能与您在此问题中的要求完全相同。

可能不是您要找的答案,但我强烈建议您考虑使用真正的bootstrapper / chainer而不是自我提取器。