Recently, I worked towards automating the build of all our installers after we integrated Maven into our Java-based projects. We standardized all of our installers on WiX which has proven to be a great tool to reliably build installers.
The rough steps of the build process are:
- Have the maven assembly plugin assemble the folder structure of what the application folder will contain. The structure loosely contains a ‘lib’ folder for all the jars, a ‘conf’ folder for configuration files, and a ‘logs’ folder.
- Run the third-party paraffin tool to update the WiX source files so the latest version of each jar, snapshot or release, is captured
- Pass the WiX source files through some xsl transforms to make sure certain features are turned on, like fully removing uninstalled components on upgrade
- Run the WiX candle and light executables on the folder structure to create the actual msi
What has resulted, with the help of Jenkins as our CI server, is a completely automated build of every one of our products with correct versioning, etc. We can check in code, wait 10 minutes, and have a new release appear in a folder share!
Here are all the posts so far:
Leave a comment