我们需要在我们的服务器上安装大约 4-5 个供应商 MSI(我们谈论的是接近 50k 的机器)。在安装过程中,我们需要根据运行它的机器传递一些属性。
我已经组装了一个 WIX Bundle 包,它从注册表中读取它需要的属性,并为写入注册表值创建了一个 C# 控制台应用程序。所以部署的最终输出将是 3 个文件(控制台应用程序、控制台 app.config、wix_bundle.exe)。我没有为此创建任何自定义引导程序,只是为此应用程序使用默认引导程序。
现在另一个处理相同 6MSI 的小组提出了一个 VBScript 来安装 Vendor Msi。他们还编写了管理升级/补丁等的逻辑。我们需要做出决定继续前进,我想知道这方面的利弊。我会提到我的想法,如果有错请补充或纠正我。
我不赞成或反对任何解决方案,但我需要确保该解决方案可以持续多年。我们将至少再使用 5-10 年。
任何帮助深表感谢!
WIX Bundle 的优点 1. 所有的 MSI 都组合为一个实体,因此与 VBScript 相比,卸载非常容易。2. 我们有一个与 WIX Bundle 相关联的版本,无需查找各个 MSI 的版本。3. 控制台应用程序控制写入 WIX-Bundle 所需的属性,因此服务帐户/密码等具有某种抽象。
WIX BUndle 1 的缺点。我不知道它究竟如何处理补丁和升级。我看到很多帖子说他们看到 wix 包中的补丁/升级问题。2. 通过注册表读取参数并不是最好的解决方案。如果我可以将属性作为命令行传递给 WIX 捆绑包,那就更好了。我知道我必须为此编写一个自定义引导程序?3.
VBScript 的优点 1. 至少在我们的例子中,使用 VBScript 的解决方案是有效的,不需要额外的工作。2.
VbScript 的缺点 1. 在安装过程中,我们使用了多个服务帐户,这些服务帐户会根据机器而变化,但在 VB 脚本中所有这些帐户(基于每台机器)以及密码都是硬编码的。2. 维护脚本,因为它具有卸载/升级/补丁等使用 GUID/版本号等的逻辑。我们需要为每个版本保存/更新 vbscript 以确保它工作正常。