It seems that I'm looking for the all-in-one general purpose full-system installation tool.


I've multiple instances (today: 10x with a tendency to grow) of almost identical computer systems where self-produced and purchased software components must be installed, (re)configured and maintained for the purpose of deployment and development.

Each computer system consists of a standardized set of <10 servers and <20 clients operated driven by a Microsoft Windows Domain. Basic OS and fixed parts installation is done by an RIS.

Full (manual) software installation on a single system takes about 3 days time and means:

  • running MSI/install4j installers and (long) installation manual manuals
  • partially software needs to be installed on file- and database-servers and on some clients.
  • manually altering settings
  • running database scripts
  • manually fixing known problems


  • How to automatically install such a system?
  • How to keep the system up to date (when new versions of software components become available)?
  • How to switch between two version sets?
  • How to maintain system consistency? e.g. software component A relies on component B (e.g. in version 1-5 but not version 6 or higher)
  • So are you asking for recommended software to to all this?
    – Chenmunka
    Jun 22, 2015 at 11:05
  • Well yes. Ideally I hoped for 1 tool to solve all (or a great deal) of above topics...
    – Axel
    Jun 22, 2015 at 11:07
  • Have you looked into enterprise options?
    – Huey
    Jun 22, 2015 at 13:14
  • No. Which enterprise options do you mean specifically?
    – Axel
    Jun 22, 2015 at 13:35
  • Do you have any experience with Powershell? Powershell version 4 now has Windows PowerShell Desired State which may be appropriate for you.
    – rrirower
    Jun 22, 2015 at 16:37

2 Answers 2


Clone installation

If all of your machines have the same basic hardware then an option would be to use something like clonezilla, or a similar commercial product, to do an install once deploy many times installation - one major trick is to partition the drives so that you have all the programs and the OS on one drive and all of the data and settings on another, you will also need to tweak all the installed programs in your pre-image installation so that they get the machine specifics from either hardware identifiers or environmental variables, you can then use a script post installation to set those items up on boot.

For upgrades, etc, you would basically need to reinstall the program partition on the machine that needs upgrades.

  • Also a good - more lightweight solution as the full VM approach. By now applications and data are on the same partition... but this should be easily changable. Thx. (would give +1 if I could).
    – Axel
    Jun 23, 2015 at 11:31

Install to VM

If you install the software to one, or more, Virtual Machines or Hypervisors then as your deployed systems can run the client software and simply load the VM for the given task. You can then have specific VM images for given tasks and simply download a new image to each machine on upgrade or on demand.

While this will be something of an additional load on the hardware, (make sure you have plenty of RAM), you can tailor the effective hardware that each program runs on and will avoid problems like A v1.x runs with B v2.y but A2.x needs B3.7.

You will need to tailor the installs to pick up user/machine specifics from a shared area on the host machine but it can still simplify things a lot.

A couple of examples would be VirtualBox, free, or VMWare but there are a lot of such systems - see here.

On the plus side a badly behaved program will not bring down the host and you can have different OS requirements for each program, or group of programs, but on the minus side you may need to pay for more OS licences depending on the OS in question and your licence conditions.

  • Ok, this is an interesting solution. Especially the platform and application separation is a nice feature for client side upgrades and the CM guys! And we also have VMware machines already in the system... Thx! (+1 (if I could)) I'll have to check if this approach still can be applied to our 'grown' system!
    – Axel
    Jun 23, 2015 at 11:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.