Is there a Post-Build Extensible Installer System

Posted by Will Hughes on Stack Overflow See other posts from Stack Overflow or by Will Hughes
Published on 2010-05-28T07:21:30Z Indexed on 2010/05/30 23:52 UTC
Read the original article Hit count: 335

We have a product that we need to create an installer for. It has a number of components which can be installed or not as the situation demands.

When we ship our installation package, we want to be able to have that include any number of additional components to be installed.

For example, Foo Manager Pro contains:

  • Foo Manager Console
  • Foo Manager Database
  • Foo Manager Services

That might be shipped as something like:

  • FooManagerInstaller.exe
  • FMPConsole.pkg
  • FMPDatabase.pkg
  • FMPServices.pkg

A package might consist of something like:

  • Manifest
  • Files to be deployed
  • Additional scripts to be executed
    (eg find file foo.config, do some XML Manipulation)

If a client wants to add custom skins and a series of plugins as part of the install, they create their own packages:

  • FMPConsoleSkins.pkg
  • ClientWebservices.pkg

If that client then ships it to someone else who wants to add more customisation - they can do so in the same way.

We can build this from scratch - but wanted to check if this sort of install system already exists.

We already have a set of NAnt scripts which do something not too far from this. But they're difficult to maintain, and quite complex. They don't offer any of the 'niceties' that we'd expect from an installer (like tracking deployed files and removing them if the install fails).

We've been looking a little bit at NSIS and building MSIs using WiX, but it's not clear that these can offer us the capability for downstream to provide additional packages, without inventing our own installer language.

© Stack Overflow or respective owner

Related posts about windows-installer

Related posts about modularity