InstallAware: A Script-driven Software Packaging Tool for Creating Windows Installer Packages

ipt type="text/javascript"> ch_client = "articlealley";on-the-fly. Best of all, InstallAware™ produced
ch_type = "mpu"; ch_width = 590; ch_height = 250;pure Windows Installer setups - all my scripting logic
ch_non_contextual = 4; ch_noborders = 1;automatically got compiled into an MSI database
ch_vertical ="premium"; ch_sid = "590x250 Articleevery time I clicked the build button. I did not have
Mixed Top"; ch_alternate_ad_url = " var ch_queriesto look at a single MSI table or sequence for this to
= new Array( ); varhappen. Moreover, my InstallAware™ setups
th)); if ( ch_selected < ch_queries.length ) {did not require a third party scripting engine to be
ch_query = ch_queries[ch_selected]; } I found outinstalled before they could run. Firing up the
about InstallAware™ while searching for MSIgenerated MSI started my installations immediately.
scripting on Google. The InstallAware page I cameNeedless to say, I was very impressed.
across had a term called "Genuine Scripting forI am impressed with InstallAware™. Having
Windows Installer". While I thought this would be aused major MSI setup authoring tools, I can say that
long shot, I nevertheless downloaded the trial versionInstallAware™ represents a unique and fresh
and fired up the InstallAware™ IDE. Surealternative to the existing installers, which are
enough it had two tabs on the bottom, labeledessentially different front-end user interfaces to MSI
suggestively Visual and Code. This was gettingdatabases and require Windows Installer knowledge.
exciting! I clicked the Code tab - and lo and behold,InstallAware™ completely isolates the setup
there it was!developer from Windows Installer tables. The tool
Over the next couple of days, I played with theitself is not designed to be a database editor but it
InstallAware™ IDE and created several setups.builds an MSI database based on your
I actually found out InstallAware's™ scriptingInstallAware™ script actions. This makes the
to be very powerful - you get to control not onlyMSI development very easy for a user who is not
the dialogs and logic of your install, but also thefamiliar with Windows Installer or a user who does
uninstall. If you ever wanted to do more than justnot want to directly deal with the raw data found in
run a custom program or show the standard uninstallMSI tables. On the other hand, if you want to see
dialog, you can do that in InstallAware™. IWindows Installer tables and/or make direct
went ahead an added a custom dialog which askedmodifications to tables, InstallAware™ may
my users why they were uninstalling the product, andnot be the right tool for you. Because it does not
posted the feedback to a web server, all as andirectly expose any Windows Installer tables to the
integral part of the uninstall wizard. And there's more:user. Essentially it is not designed to be a MSI
If you want to seamlessly uninstall an older versiondatabase editor. It lets you keep the same setup
of your product while installing the new version, youauthoring practices and migrate all your existing skills
can do that too. I was even able to create setupsto Windows Installer.
that dynamically configured their feature-sets