Windows Installer is the recommended solution for the installation and setup of applications on Windows. Therefore, some of the information contained in this SDK will be of interest to a wide range of software development and IT professionals. This section is provided as a guide to readers who prefer to see links to topics organized by professional role and common task scenarios. Because roles can differ greatly between organizations, the following grouping should only be considered as a guide to a location to start searching for the information you need.
This documentation is intended for software developers who want to make applications that use Windows Installer. As the primary source of reference material for the installer, the SDK provides information about installation packages and the installer service. It contains complete descriptions of the application programming interface (API) and the elements of the installer database.
For more information, see Other Sources of Windows Installer Information.
Application Developers
Application developers create applications that call the Windows Installer application programming interface and install Windows installer packages at run time. The Windows Installer can do work in an application such as self-repair and installation-on-demand. Typically, application Developers do the following:
-
Enable installation-on-demand of applications at run time from within another application.
For more information, see the following:
- Enable self-repair of applications by reinstalling components as needed at run time.
For more information, see the following:
- Display a user interface to collect user information and configuration preferences the first time an application is installed or run. The user interface must be added by the Setup Author of the Windows Installer package.
For more information, see the following:
- Create applications that use an indirection model to refer to components with parallel functionality. The qualified component categories must be added by the Setup Author of the Windows Installer package.
For more information, see the following:
- Use private and side-by-side assemblies to isolate applications and reduce DLL conflicts.
For more information, see the following:
- Prepare the application to install its own comprehensive major upgrades.
For more information, see the following:
- Prepare the application to install its own minor upgrades, small updates, or fixes.
For more information, see the following:
- Organize application resources into components that can work with the Windows Installer.
For more information, see the following:
Setup Authors
Setup Authors create Windows Installer packages (.msi files) that contain the setup logic and information needed to install an application. They typically use authoring tools such as Orca.exe to populate the Windows Installer database with the setup logic and information. Typically, Setup Authors do the following:
- Determine the functionality available with different Windows Installer versions.
For more information, see the following:
- Organize application resources into Windows Installer components.
For more information, see the following:
- Use third-party Windows Installer package authoring tools or SDK tools such as Orca.exe to populate an installation database and create a Windows Installer package.
For more information, see the following:
- Author the Windows Installer database to install files.
For more information, see the following:
- Author a Windows Installer database that installs a directory structure and folders.
For more information, see the following:
- Author a Windows Installer database that installs registry keys.
For more information, see the following:
- Author a Windows Installer database that installs services.
For more information, see the following:
- Author a Windows Installer database that installs isolated components or COM components.
For more information, see the following:
- Author a Windows Installer database that installs assemblies.
For more information, see the following:
- Author a Windows Installer database that installs ODBC drivers and translators.
For more information, see the following:
- Author a Windows Installer database that installs MIME.
For more information, see the following:
- Author a Windows Installer database that installs environment variables.
For more information, see the following:
- Author a Windows Installer database that installs shortcuts.
For more information, see the following:
- Author a Windows Installer database that installs multiple instances of applications.
For more information, see the following:
- Specify default feature selection states and options.
For more information, see the following:
- Specify conditions that must be met to install an application or selected components.
For more information, see the following:
- Author the sequence of actions used to install the application.
For more information, see the following:
- Prepare the installation package of the application for future upgrades of the application by the Windows Installer service.
For more information, see the following:
- Troubleshoot Windows Installer packages under development.
For more information, see the following:
- Ensure a secure setup and installation of the application.
For more information, see the following:
- Create a user interface to present options to configure the installation and obtain information from the user about the pending installation process.
For more information, see the following:
- Create an external user interface to present a custom user interface to configure the installation and obtain information from the user about the pending installation process.
For more information, see the following:
- Set information for the application in Add/Remove Programs (ARP.)
For more information, see the following:
- Write custom actions to handle setup logic that is not natively supported by Windows Installer.
For more information, see the following:
- Bootstrap the Windows Installer onto a user's computer.
For more information, see the following:
- Adhere to Active Accessibility guidelines when writing Windows Installer packages.
For more information, see the following:
- Prepare for the internationalization of an application setup.
For more information, see the following:
- Create Windows Installer packages for 32-bit and 64-bit platforms.
For more information, see the following:
- Redistribute shared Windows Installer components and setup logic as merge modules.
For more information, see the following:
- Schedule or suppress reboots during a Windows Installer installation.
For more information, see the following:
- Create updates or fixes for an existing application by creating a patch.
For more information, see the following:
- Author a dual-purpose package capable of installing an application either for only the current user or for all users of the computer.
For more information, see the following:
- Customize services on the computer using the Windows Installer.
For more information, see the following:
- Secure resources on the computer using the Windows Installer.
For more information, see the following:
- Enumerate all components installed on the computer and obtain the key path for the component.
For more information, see the following:
- Install multiple packages using transaction processing.
For more information, see the following:
- Embed a custom user interface in the Windows Installer package.
For more information, see the following:
IT Professionals
IT Professionals and Administrators customize and deploy existing Windows Installer packages. These users repackage setups for existing applications into Windows Installer installation packages, and install and maintain administrative images of Windows Installer installations on networks.
- Customize applications and setup by generating and applying Windows Installer transforms
For more information, see the following:
- Deploy a Windows Installer installation package, update, or patch.
For more information, see the following:
- Troubleshoot Windows Installer packages.
For more information, see the following:
- Use scripting to query Windows Installer packages for information about a product and modify the installation.
For more information, see the following:
- Create and maintain administrative installations.
For more information, see the following:
- Make an application available to all users of a computer or to a specified user only.
For more information, see the following:
- Interpret packages, install products, and configure feature options using a command line.
For more information, see the following:
- Work with policy to manage access rights and permissions.
For more information, see the following:
- Install multiple packages using transaction processing.
For more information, see the following:
- Multiple-Package Installations
- Embed a custom user interface within a Windows Installer package..
For more information, see the following:
- Using the User Interface
- Using an Embedded UI
Infrastructure Developers
Infrastructure Developers can create unified platforms for the deployment and management of software that uses the Windows Installer service. They can use the Windows Installer programming interface to query, manage, and distribute applications, patches, and sources on a system.
- Locate, inventory and query for the state, information, and clients of components.
For more information, see the following:
- Inventory and query for information and the state of products and features.
For more information, see the following:
- Improve source resiliency by using the Windows Installer to inventory, query, and modify the source list of applications, upgrades, and patches.
For more information, see the following:
- Improve source resiliency by using the Windows Installer to inventory, query, and modify media sources.
For more information, see the following:
- Inventory and query for information and the state of patches.
For more information, see the following:
- Work with policy to manage access rights and permissions.
For more information, see the following:
Send comments about this topic to Microsoft
Build date: 11/12/2009