Installer Function Reference
To enable Windows Installer in your application, you must use the installer functions. The tables in this topic identify the functions by category.
User Interface and Logging Functions
Name | Description |
---|---|
MsiSetInternalUI | Enables the internal user interface of the installer. |
MsiSetExternalUI | Enables an external user-interface handler that receives messages in a string format. |
MsiSetExternalUIRecord | Enables an external user-interface handler that receives messages in a record format. |
MsiEnableLog | Sets the log mode for all installations in the calling process. |
Handle Management Functions
Name | Description |
---|---|
MsiCloseHandle | Closes an open installation handle. |
MsiCloseAllHandles | Closes all open installation handles. Do not use for cleanup. |
Installation and Configuration Functions
Name | Description |
---|---|
MsiAdvertiseProduct | Advertises a product. |
MsiAdvertiseProductEx | Advertises a product. |
MsiAdvertiseScript | Copies an advertise script file into specified locations. |
MsiInstallProduct | Installs or removes an application or application suite. |
MsiConfigureProduct | Installs or removes an application or application suite. |
MsiConfigureProductEx | Installs or removes an application or application suite. A product command-line can be specified. |
MsiReinstallProduct | Reinstalls or repairs an installation. |
MsiConfigureFeature | Configures the installed state of a feature. |
MsiReinstallFeature | Validates or repairs features. |
MsiInstallMissingComponent | Installs missing components. |
MsiInstallMissingFile | Installs missing files. |
MsiNotifySidChange | Notifies and updates the Windows Installer internal information with changes to user SIDs. Available beginning with Windows Installer 3.1. |
MsiProcessAdvertiseScript | Processes an advertise script file into specified locations. |
MsiSourceListAddSource | Adds or reorders the sources of a patch or product in a specified context. |
MsiSourceListAddSourceEx | Adds or reorders the sources of a patch or product in a specified context. Creates a source list for a patch that does not exist in a specified context. Available in Windows Installer 3.0. |
MsiSourceListClearSource | Removes an existing source for a product or patch in a specified context. Available in Windows Installer 3.0. |
MsiSourceListClearAll | Removes all the existing sources of a specific source type for a specified product instance. |
MsiSourceListClearAllEx | Removes all the existing sources of a specific source type for a specified product instance. Available in Windows Installer 3.0. |
MsiSourceListForceResolution | Removes the registration of the current source of the product or patch, which is registered as the property "LastUsedSource". This function does not affect the registered source list. |
MsiSourceListForceResolutionEx | Removes the registration of the current source of the product or patch, which is registered as the property "LastUsedSource". This function does not affect the registered source list. Available in Windows Installer 3.0. |
MsiSourceListGetInfo | Retrieves information about the source list for a product or patch in a specific context. |
MsiSourceListSetInfo | Sets the most recently used source for a product or patch in a specified context. Available in Windows Installer 3.0. |
MsiSourceListEnumMediaDisks | Enumerates the list of disks registered for the media source for a patch or product. Available in Windows Installer 3.0. |
MsiSourceListAddMediaDisk | Adds or updates a disk of the media source of a registered product or patch. Available in Windows Installer 3.0. |
MsiSourceListClearMediaDisk | Removes an existing registered disk under the media source for a product or patch in a specific context. Available in Windows Installer 3.0. |
MsiSourceListEnumSources | Enumerates the sources in the source list of a specified patch or product. Available in Windows Installer 3.0. |
Component-Specific Functions
Name | Description |
---|---|
MsiProvideAssembly | Installs and returns the full component path for an assembly. |
MsiProvideComponent | Installs and returns the full component path of a component. |
MsiProvideQualifiedComponent | Installs and returns the full component path of a qualified component. |
MsiProvideQualifiedComponentEx | Installs and returns the full component path of a qualified component that is published by a product. |
MsiGetComponentPath | Returns the full path or registry key to an installed component. |
MsiGetComponentPathEx | Returns the full path or registry key to an installed component across user accounts and installation context. Windows Installer 4.5 and earlier: Not supported. |
MsiLocateComponent | Returns the full path to an installed component without a product code. |
MsiQueryComponentState | Returns the installed state for a component. Can query components of an instance of a product installed under user accounts other than the current user. Available in Windows Installer 3.0 or later. |
Application-Only Functions
Name | Description |
---|---|
MsiCollectUserInfo | Stores user information from an installation wizard. |
MsiUseFeature | Increments usage count for a feature and indicates installation state. |
MsiUseFeatureEx | Increments usage count for a feature and indicates installation state. |
MsiGetProductCode | Returns product code using the component code. |
System Status Functions
Name | Description |
---|---|
MsiEnumProducts | Enumerates advertised products. |
MsiEnumProductsEx | Enumerates through all the instances of advertised or installed products in a specified context. Available in Windows Installer 3.0 or later. |
MsiEnumRelatedProducts | Enumerates currently installed products having a specified upgrade code. |
MsiEnumFeatures | Enumerates published features. |
MsiEnumComponents | Enumerates the installed components. |
MsiEnumComponentsEx | Enumerates the installed components across user accounts and installation context. Windows Installer 4.5 and earlier: Not supported. |
MsiEnumClients | Enumerates the clients of an installed component. |
MsiEnumClientsEx | Enumerates the clients of an installed component across user accounts and installation context. Windows Installer 4.5 and earlier: Not supported. |
MsiEnumComponentQualifiers | Enumerates the advertised qualifiers for a component. |
MsiQueryFeatureState | Returns the installed state of a feature. |
MsiQueryFeatureStateEx | Returns the installed state for a product feature. Can query features of an instance of a product installed under user accounts other than the current user. Available in Windows Installer 3.0 or later. |
MsiQueryProductState | Returns the installed state for an application or application suite. |
MsiGetFeatureUsage | Returns usage metrics for a feature. |
MsiGetProductInfo | Returns product information for published and installed products. |
MsiGetProductInfoEx | Returns product information for advertised and installed products. Can retrieve information on an instance of a product installed under a user account other than the current user. Available in Windows Installer 3.0 or later. |
MsiGetUserInfo | Returns registered user information for an installed product. |
Product Query Functions
Name | Description |
---|---|
MsiOpenProduct | Opens a product to use with the functions that access the database. |
MsiOpenPackage | Opens a package to use with the functions that access the database. |
MsiOpenPackageEx | Opens a package to use with the functions that access the database. |
MsiIsProductElevated | Checks whether the product is installed with elevated privileges. |
MsiGetProductInfoFromScript | Returns product information for an installer script file. |
MsiGetProductProperty | Retrieves properties in the product database. |
MsiGetShortcutTarget | Examines a shortcut and returns its product, feature name, and component if available. |
MsiGetFeatureInfo | Returns descriptive information for a feature. |
MsiVerifyPackage | Verifies that a specified file is an installation package. |
Patching Functions
Name | Description |
---|---|
MsiApplyPatch | Invokes an installation and applies a patch package. |
MsiEnumPatches | Returns the GUID for each patch that is applied to a product, and a list of transforms from each patch that apply to the product. |
MsiGetPatchInfo | Returns information about a patch. |
MsiRemovePatches | Uninstalls a patch from a product. Available in Windows Installer 3.0. |
MsiDeterminePatchSequence | Determines the best application sequence for a set of patches and product. Available in Windows Installer 3.0. |
MsiApplyMultiplePatches | Applies one or more patches to products. Available in Windows Installer 3.0. |
MsiEnumPatchesEx | Enumerates all patches applied for a product in a particular context or across all contexts. Available in Windows Installer 3.0. |
MsiGetPatchFileList | When provided a list of .msp files this function retrieves the list of files that can be updated by the patches for the targe. Available in Windows Installer 4.0. |
MsiGetPatchInfoEx | Queries for information about the application of a specified patch to a specified product. Available in Windows Installer 3.0. |
MsiExtractPatchXMLData | Extracts information from a patch. Available in Windows Installer 3.0. |
MsiDetermineApplicablePatches | Determines the best set of patches required to update a product or set of products. Available in Windows Installer 3.0. |
File Query Functions
Name | Description |
---|---|
MsiGetFileHash | Takes the path to a file and returns a 128-bit hash of that file. |
MsiGetFileSignatureInformation | Takes the path to a file that has been digitally signed and returns the file's signer certificate and hash. |
MsiGetFileVersion | Returns the version string and language string. |
Transaction Management Functions
Name | Description |
---|---|
MsiBeginTransaction | Starts transaction processing of a multiple-package installation and returns an identifier for the transaction. This function is available beginning with Windows Installer 4.5. |
MsiJoinTransaction | Requests that the Windows Installer make the current process the owner of the transaction installing a multi-package installation. This function is available beginning with Windows Installer 4.5. |
MsiEndTransaction | Commits or rolls back all the installations belonging to the transaction. This function is available beginning with Windows Installer 4.5. |
Database Functions
In addition to the Windows Installer functions identified in the previous tables, you can manipulate information in the installation database by using the database access functions that are described in the Database Functions section.
Installer Structures
In addition, some information in the installation database is handled using the structures described in the Installer Structures section.