The modern installers used to deploy applications to the Windows platform have a variety of features. Some use the Windows Installer technology built into Windows and provided by Microsoft, and other tools provide propriety mechanisms to install your solutions. See Table 1 for a list of features you can find in modern installers.
You will discover over time, based on your experience with various customer requirements and types of deployments, which of these features are important to you. Once you understand what features are needed for the deployment, you can start to evaluate which tool or tools you might want to use for the various applications you deploy. This is the topic of the next section.
Professional look and feel, compatible with all versions of Windows |
Intuitive development environment |
Create Windows Installer MSI files |
Installs all file types including executables, runtimes , data files, text files, help files, document files, etc. |
Create and edit Windows Registry entries |
Update INI configuration files |
Configure operating system level environment variables |
Establish ODBC data sources (DSN) |
Register file extensions on user machine |
Add the installation to the Add/Remove Programs list |
Uninstall capability (with intelligence to not remove shared components ) |
Repair a broken installation (replace or add necessary files that were deleted) |
Prompt users for selection of multiple directories (one for the application, one for the data) |
Create shortcuts on desktop/start menu |
Optionally display licensing and ReadMe text during setup |
Verify minimum requirements for memory, processor, operating system version, hard drive space, color depth, browsers, and screen resolution |
Verify and install necessary Windows Installer components |
Rollback the system to the state it was before the installation started if any component fails to install or the user aborts the installation |
Custom actions so you can run processes before, during, and after the installation |
Incorporate Merge Modules for Windows Installer technology |
Determine file dependencies |
Register COM objects, ActiveX controls, and other DLLs |
Ability to configure features the user can install |
Configurable setup dialogs |
Ability to create CD-ROM, DVD, and custom media sizes |
Test the installation process without installing the files on development machine |
Compressed Web download installations |
Web update service |
Create Virtual Directories on the Web server |
Register the application via a Web service |
Run SQL Server scripts |
Editing setup script files |
Language support for international deployments |