Software Installations

Recently I’ve started doing the installations, into a number of
environments, of our software at work.  One of the
requirements that we had to meet for our software deliverable was that
the install, and un-install, had to be one-click.  I thought of
two things when I heard this. 

1)  How will we create single click installs and ensure
that the person running the installation can’t screw up the values
needed during the process?

In the end we ended up using Visual Studio to create our .msi
files. Each installation (we have 5) was customised so that
.msi files accepted a number of parameters that include
things like computer name.  We can then call the .msi files using
a DOS batch file and pass in dynamic values (i.e. %computername%) into
.msi as parameters.  For a number of other values that are
not installation machine dependent we customised the Visual Studio
installation projects to read from an xml answer file.  This
allows us to pre-configure values for each of our environments. 
When we ship our installation “package” to the client they receive a
group of files including the *.msi files, one xml file per msi, an
installation DOS batch file and an un-install DOS batch file.  All
they have to do is double click the appropriate batch file and, voila,
process runs without any user prompting.

Let me tell you that this is very handy and it makes
uninstall/re-install process very fast.  This is especially good
when you’re doing the installations early the morning after a Christmas
party with an open bar.

2) What are the reasons that a client would want to have a one-click install for a server program?

The only reasons that I’ve been able to determine for them
wanting this is so that they can script the installation of a “base”
server configuration.  This makes complete sense to me except for
one thing, our software is not part of any base server
installation.  Heck we even have stand alone servers just to host
our software.  I suppose that it will be useful if they decide to
expand the number of servers that are in the load balancing cluster.

Perhaps someone out there can indulge me in my quest for knowledge.


I’m the Igloo Coder and I’m very happy that the igloo is
round.  It makes it a lot harder to notice that it’s spinning
after a night out on the town.