Windows Installer technology was introduced in the Windows 2000 platform to take some of the pain out of deploying and managing Windows applications across an enterprise. In previous versions of Windows (NT/9x), developers usually created installation packages using a variety of proprietary tools developed by third-party vendors such as InstallShield Software and Wise Solutions. To bring some kind of consistence to this situation, Microsoft included Windows Installer as a core service (msiexec.exe) within Windows 2000 to install, repair, and remove software based on instructions contained in .MSI files. These .MSI files are basically database files that contain all the information an application needs in order to install a packaged application. Then once you package your application you can deploy it using Group Policy by one of two methods:
Assigning an application. You can assign a .MSI package to either a computer or a user. If you assign it to a computer, the packaged application installs the next time the computer reboots. If you assign it to a user, the application typically installs when the user tries to run it from the Start menu or tries to open a file that has a file extension associated with the application.
Publishing an application. You can publish a .MSI package to users only. This provides the user with an option within Add or Remove Programs in Control Panel that lets them manually install the application if they want to.
Once Microsoft included Windows Installer technology in Windows 2000, they also made it their policy to include .MSI installation packages in all applications they developed for Windows. What they didn’t include at the time was a tool of their own for repackaging traditional Setup-based applications into .MSI packages. Instead, Microsoft decided to include a “light” version of WinINSTALL called WinINSTALL LE (WinINSTALL Limited Edition) in the Valueadd folder on the Windows 2000 product CD. Administrators could then use WinINSTALL LE to repackage legacy applications into .MSI packages that could then be deployed using Group Policy. Microsoft apparently also decided to leave it to third-party vendors to develop full-featured .MSI packaging tools to meet the needs of customers who needed to deploy third-party and custom applications across their enterprise.
As a result of this decision, the marketplace has a number of competing .MSI packaging tools and .MSI authoring environments available at present, and the remainder of this article looks at three popular packaging tools that are available. Some of these tools are free while others are commercial products with varied pricing and licensing requirements, check out their websites for details. Using any of these tools can make your life easier as an administrator of a large, Windows-based network, since they save you the time of having to visit desktops to install the applications that make your business work.
The free version of Advanced Installer from Aphyon is powerful and easy to use, but if you want to get into advanced packaging tricks like setting attributes, installing .NET assemblies, installing ODBC drivers and so on, then you’ll need to opt for the more powerful Professional version instead. Aphyon also provides optional features through add-ons that can be purchased extra. One cool feature of Advanced Installer is that it stores its Windows Installer project files in XML format. This simplifies versioning of packages you’re developing and lets you keep track of packages using a version control system. Another feature of Advanced Installer is that you can perform most actions from the command line. This allows you to automate application packaging using scripts, something that can be useful if you have a large enterprise with many applications to deploy. The current version of Advanced Installer is version 2.3 and you can download it here for Windows 2000/XP platforms.
WinINSTALL MSI Packager
WinINSTALL MSI Packager from Software OnDemand is a tool from the same evolutionary line that produced WinINSTALL LE discussed previously. Because of this heritage, WinINSTALL MSI Packager is a popular .MSI packaging tool today in many enterprise environments. Not only can the tool be used to easily package applications for deployment, it also lets you test them against standards like the Microsoft Logo Certification. This ensures your packaged applications will install properly on the latest Windows operating systems. The current version of WinINSTALL MSI Packager is version 8.6 and you can download an evaluation version of this software here. Software OnDemand also has two other tools you may want to look at: the upscale WinINSTALL 8.6 full product that lets you not only deploy applications but also manage them, and WinINSTALL LE 2003 which is the latest incarnation of the free “light” version that was included on the Windows 2000 product CD.
Wise for Windows Installer
Wise for Windows Installer from Wise Solutions Inc. is another application packaging tool that is popular in some enterprise environments. This tool fully complies with Microsoft’s .MSI standards while also extending the capabilities of .MSI packages without making changes to their native format. The result is a powerful tool that can be used to deploy legacy, Web-based, and .NET applications quickly and easily. Enterprises that make heavy use of Microsoft SQL Server for back-end databases and Internet Information Services (IIS) 5.0 or 6.0 for front-end Web applications should take a close look at this product. If all you want to do is package applications into .MSI format, this tool is so easy and intuitive to use you hardly need a manual. Wise for Windows Installer comes in several editions including Standard, Professional, and Enterprise editions to meet your deployment needs according to your budget. Wise for Windows Installer is also part of a larger family of Wise Solutions products that includes Wise Package Studio and Wise Installation System 9.0.