With Microsoft Windows Installer, an application's entry points play a major role in installing advertised features and initiating the self repair of an application. When a user uses an entry point to launch an .MSI-based application, Windows Installer performs an integrity check by verifying:
- All key paths (files or registry entries).
- All a feature's components where the entry point resides.
- The components of all features in parent-child relationship.
Application entry points are generally one of the following:
Internal components, known as COM objects, in COM applications can be shared and used by other applications. Example of a COM application: Macromedia Flash plug-in for a Web browser.
These are shortcuts for an uninstalled application and generally do not have configurable properties when viewed. If the shortcut has a Target Type of Application, rather than the .EXE application path, then the shortcut is advertised. Advertised features are also known as Install on Demand.
File Extension Association
An association between a file extension and an application populates through the .MSI's Extension table. Example: Double clicking a .DOC file launches Winword.exe.
File MIME Type Association
Web browsers use MIME Types and other Internet/Network related tools to identify the contents sent over the network and how to display that file. Example of a MIME type: a .PDF file that opens within a Web browser.
Command Verb Activation
When an end user right-clicks a file with a system-registered extension (for example, .TXT), a context menu displays Operating System commands such as Open or Print. Executing a command this way can initiate self-repair.
Direct Call to Windows Installer
An application queries Windows Installer for the state of a component or feature, causing a self-repair if necessary. Example: a Microsoft Office application queries Windows Installer for the state of a shared component, such as spell checker.
By reviewing the application log files within the operating systems event viewer and comparing the .MSI's logged installation events, you can determine which of the entry points causes your .MSI uses. Understanding entry points lets you troubleshoot and repair packages quickly and effectively.