Install different msi's in different servers

93 Views Asked by At

Currently I am working on a project which uses different technologies for different modules and those are installed in different servers using msi's. During production release, it is quite difficult task for developers/support to do this process as they need to create msi and run the msi(we are using WIX for creating msi) in different machines. And during installation of msi, there are some manual steps like selecting enironment(Prod or pre-prod) and locations.

And every time during installation, we need to uninstall and re-install msi's and start/stop corresponding windows services also.

As there are so much manual work(to run in some machine), we want to automize this by running the msi's using command prompt or tool.

Probably having master node(which knows about all the machines) and set of client's node and run different installation for different clients from master node....

Do you guys know any tool in market which will do these process?

Please let me know if you need more details.

Thank you in advance, Sab

2

There are 2 best solutions below

0
On
  1. Make your MSIs perform Major Upgrades over other MSIs of the same version: <MajorUpgrade AllowSameVersionUpgrades="yes" />. This will save you from having to manually uninstall+install each updated MSI.

  2. You can drive the installs from the clients (managed by a central admin) by using GPO - https://www.youtube.com/watch?v=jXAz6vrWMP0

0
On

It seems to me that what you have there is more of a job for transforms. You could generate a transform per server that contains the installation configuration and features, and apply those at installation time.

An example of using transforms can be seen at https://www.firegiant.com/wix/tutorial/transforms/morphing-installers/.

Basically you generate your base MSI, then generate another MSI with the configuration for that server (you could automate this, as you mention you're using WiX) then generate a transform out of the differences (example below for generating a language transform):

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