Automate Application Installation

At this point, you may be wondering what thedependent on many other components including
automated installation of your application (with uninstallstandard Windows dynamic link libraries, ActiveX
capability) has to do with improving the quality of yourcomponents, registry settings or simple data files. To
Visual Basic source code. Well, and many wouldsuccessfully install your application it is necessary to
agree, it's quite simple: you can't afford not to! The timedistribute all dependant components, settings and files if
you will save by doing so will easily cover thethey are not already installed with the operating
investment of creating and maintaining the installationsystem itself or other required software.
set and can be reinvested in activities to improve andPublish Changes During Development Via Your
enhance your application.Installation Set
Automation of your application's installation can yieldDuring the development life cycle of a project,
the following benefits:components worked on by different developers will
Simple and consistent install/uninstall process.continue to evolve with changes to interfaces and
Installation can be performed by novice anddependencies. To simplify the process of distributing
experienced users alike.component changes, make use of the installation set
Software meets minimum customer expectations forthe one and only means of publishing component
software installation.changes and dependencies to your development
Avoidance of time-consuming support queries causedteam.
by incorrect installation.Do Not Install Old Versions
The ChallengeIt is a surprising fact that many developers building
Having written quality software and built quality binaries,installation sets believe it acceptable for their installation
you now have to get them onto your customer'sset to replace existing files on a customer's machine
hardware in such a way that they actually work andwith older versions. Unfortunately this is rarely
without breaking any existing software that is alreadyacceptable. If you find that your own software will not
installed. Many share the opinion, that if you don'twork with newer versions of a dependant file then
distribute your software with an automated install set,you should consider upgrading your software rather
your chances of success are slim while the chancesthan downgrade your customer's.
of losing credibility with your customers is high.Support Uninstall
Building good installation sets is not easy and theDuring development members of your team will want
mistake organisations often make is to leave theto uninstall your software, and so too will your
creation and testing of the installation set to the lastcustomers occasionally. The uninstall function should
minute. Best advice therefore is to design and buildideally remove all trace of your software and restore
your installation set early in the development life cycle,a machine to the state it was in prior to the installation.
preferably as soon as you have built the first binaries,In practice, a totally clean uninstall is difficult to achieve,
and use it to distribute software to your developmentnevertheless you should at least remove all the files
team. Ideally, the daily build and smoke test should beand registry settings you installed unless you know
extended to include the automated building of the installthem to be shared files that are used by other
set.software. Supporting uninstallation can be especially
Note: The effort expended in creating an installationbeneficial during development of ActiveX components
set soon pays for itself many times over and canas it enables developers to remove obsolete
demonstrate visibility of your progress to yourreferences from the Windows Registry.
customers if required.Application Installation Set Testing
Installation Creation ToolsAlways test your application's installation with target
To create an installation set, you need to use either thehardware and software. Development machines are
Package & Deployment Wizard supplied withoften littered with ActiveX components and later
Microsoft Visual Basic or another, more sophisticatedversions of libraries etc. than may be installed by
installation tool. Fortunately there are many such toolsdefault on your customers' target platform. By testing
to choose from. Take the time to evaluate and try ayour application installation set with target hardware
few tools before you buy one.and software you will soon identify missing
Determine Dependenciesdependencies and possible platform differences.
Any software component that you build can be