在不同的服务器上安装不同的msi

时间:2015-05-19 05:48:55

标签: .net deployment wix windows-installer automated-deployment

目前我正在开发一个项目,该项目针对不同的模块使用不同的技术,并使用msi&s安装在不同的服务器上。在生产发布期间,开发人员/支持人员执行此过程非常困难,因为他们需要创建msi并在不同的计算机上运行msi(我们使用WIX创建msi)。在安装msi期间,有一些手动步骤,如选择enironment(Prod或pre-prod)和位置。

每次安装过程中,我们都需要卸载并重新安装msi,并启动/停止相应的Windows服务。

由于手动工作太多(在某台机器上运行),我们希望通过使用命令提示符或工具运行msi来自动化。

可能拥有主节点(知道所有机器)和客户端节点集,并为主节点的不同客户端运行不同的安装....

你们知道市场上哪些工具会做这些过程吗?

如果您需要更多详细信息,请与我们联系。

提前谢谢你, SAB

2 个答案:

答案 0 :(得分:1)

  1. 让您的MSI对同一版本的其他MSI执行重大升级:< MajorUpgrade AllowSameVersionUpgrades =" yes" /取代。这将使您不必手动卸载+安装每个更新的MSI。

  2. 您可以使用GPO驱动客户端的安装(由中央管理员管理) - https://www.youtube.com/watch?v=jXAz6vrWMP0

答案 1 :(得分:0)

在我看来,你拥有的东西更多的是变形工作。您可以为每个包含安装配置和功能的服务器生成转换,并在安装时应用这些转换。

可以在https://www.firegiant.com/wix/tutorial/transforms/morphing-installers/看到使用变换的示例。

基本上你生成你的基础MSI,然后用该服务器的配置生成另一个MSI(你可以自动执行此操作,正如你提到的那样使用WiX)然后根据差异生成变换(下面的示例用于生成语言变换):

torch.exe -p -t language SampleMulti.msi Sample_Hu-hu.msi -out hu-hu.mst