« Thirty | Main | Customized Installers Part Two – Enter WiX »
Customized Installers Part One - The Problem
Writing desktop client software for enterprise environments presents some interesting technical problems. In the enterprise IT departments have the ultimate say on what servers a client can access, how it will access those servers, as well as what features are available for their end users.
At NewsGator, our solution was an XML file (our ngClientConfig.xml file) that holds all these configuration options. It has a section that holds global settings that all clients use as well as sections for each client and its specific options. Each client was then designed to look for this file in the same directory it’s installed in and set its own configurations accordingly.
This lead to a process of hand creating the ngClientConfig file, installing the client, copying the ngClientConfig file to the appropriate directory and finally running the client. This worked great… until we had our first enterprise customer.
An IT department rolling out thousands of desktop client installations doesn’t want a multistep process. One file that does it all was the next requirement.
My first solution was a self-extracting zip file that included a specialized batch file. When the zip file was executed, it would dump its contents on the client machine then run the batch file which would call the basic installer for the client, copy the ngClientConfig.xml file to the correct directory, and finally run the client.
In order to make it even easier for IT departments, I created an application we call the “Client Installation Administrator” or CIA tool. It’s laid out like a Windows wizard and steps you through setting up all the options in the ngClientConfig.xml file. The last step was then to create the ngClientConfig file, the specialized batch file and finally the self extracting zip (which is an exe).
This solution worked great for a while… until we came across an enterprise customer whose rollout procedure required a single, fully customized MSI file.
What to do now…
Posted by Nick Harris on August 26, 2008 at 10:56 AM | Permalink
Comments
The comments to this entry are closed.