Training
Learning path
Implement finance and operations apps - Training
Plan and design your project methodology to successfully implement finance and operations apps with FastTrack services, data management and more.
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
This header is used by Application Installation and Servicing. For more information, see:
msi.h contains the following programming interfaces:
MsiAdvertiseProductA The MsiAdvertiseProduct function generates an advertise script or advertises a product to the computer. (ANSI) |
MsiAdvertiseProductExA The MsiAdvertiseProductEx function generates an advertise script or advertises a product to the computer. (ANSI) |
MsiAdvertiseProductExW The MsiAdvertiseProductEx function generates an advertise script or advertises a product to the computer. (Unicode) |
MsiAdvertiseProductW The MsiAdvertiseProduct function generates an advertise script or advertises a product to the computer. (Unicode) |
MsiAdvertiseScriptA The MsiAdvertiseScript function copies an advertised script file into the specified locations. (ANSI) |
MsiAdvertiseScriptW The MsiAdvertiseScript function copies an advertised script file into the specified locations. (Unicode) |
MsiApplyMultiplePatchesA Applies one or more patches to products eligible to receive the patches. (ANSI) |
MsiApplyMultiplePatchesW Applies one or more patches to products eligible to receive the patches. (Unicode) |
MsiApplyPatchA For each product listed by the patch package as eligible to receive the patch, the MsiApplyPatch function invokes an installation and sets the PATCH property to the path of the patch package. (ANSI) |
MsiApplyPatchW For each product listed by the patch package as eligible to receive the patch, the MsiApplyPatch function invokes an installation and sets the PATCH property to the path of the patch package. (Unicode) |
MsiBeginTransactionA The MsiBeginTransaction function starts transaction processing of a multiple-package installation and returns an identifier for the transaction. (ANSI) |
MsiBeginTransactionW The MsiBeginTransaction function starts transaction processing of a multiple-package installation and returns an identifier for the transaction. (Unicode) |
MsiCloseAllHandles The MsiCloseAllHandles function closes all open installation handles allocated by the current thread. This is a diagnostic function and should not be used for cleanup. |
MsiCloseHandle The MsiCloseHandle function closes an open installation handle. |
MsiCollectUserInfoA The MsiCollectUserInfo function obtains and stores the user information and product ID from an installation wizard. (ANSI) |
MsiCollectUserInfoW The MsiCollectUserInfo function obtains and stores the user information and product ID from an installation wizard. (Unicode) |
MsiConfigureFeatureA The MsiConfigureFeature function configures the installed state for a product feature. (ANSI) |
MsiConfigureFeatureW The MsiConfigureFeature function configures the installed state for a product feature. (Unicode) |
MsiConfigureProductA The MsiConfigureProduct function installs or uninstalls a product. (ANSI) |
MsiConfigureProductExA Installs or uninstalls a product. (MsiConfigureProductExA) |
MsiConfigureProductExW Installs or uninstalls a product. (MsiConfigureProductExW) |
MsiConfigureProductW The MsiConfigureProduct function installs or uninstalls a product. (Unicode) |
MsiDetermineApplicablePatchesA The MsiDetermineApplicablePatches function takes a set of patch files, XML files, and XML blobs and determines which patches apply to a specified Windows Installer package and in what sequence. (ANSI) |
MsiDetermineApplicablePatchesW The MsiDetermineApplicablePatches function takes a set of patch files, XML files, and XML blobs and determines which patches apply to a specified Windows Installer package and in what sequence. (Unicode) |
MsiDeterminePatchSequenceA Takes a set of patch files, XML files, and XML blobs and determines the best sequence of application for the patches to a specified installed product. (ANSI) |
MsiDeterminePatchSequenceW Takes a set of patch files, XML files, and XML blobs and determines the best sequence of application for the patches to a specified installed product. (Unicode) |
MsiEnableLogA The MsiEnableLog function sets the log mode for all subsequent installations that are initiated in the calling process. (ANSI) |
MsiEnableLogW The MsiEnableLog function sets the log mode for all subsequent installations that are initiated in the calling process. (Unicode) |
MsiEndTransaction The MsiEndTransaction function can commit or roll back all the installations belonging to the transaction opened by the MsiBeginTransaction function. |
MsiEnumClientsA The MsiEnumClients function enumerates the clients for a given installed component. The function retrieves one product code each time it is called. (ANSI) |
MsiEnumClientsExA The MsiEnumClientsEx function enumerates the installed applications that use a specified component. The function retrieves a product code for an application each time it is called. (ANSI) |
MsiEnumClientsExW The MsiEnumClientsEx function enumerates the installed applications that use a specified component. The function retrieves a product code for an application each time it is called. (Unicode) |
MsiEnumClientsW The MsiEnumClients function enumerates the clients for a given installed component. The function retrieves one product code each time it is called. (Unicode) |
MsiEnumComponentQualifiersA The MsiEnumComponentQualifiers function enumerates the advertised qualifiers for the given component. This function retrieves one qualifier each time it is called. (ANSI) |
MsiEnumComponentQualifiersW The MsiEnumComponentQualifiers function enumerates the advertised qualifiers for the given component. This function retrieves one qualifier each time it is called. (Unicode) |
MsiEnumComponentsA The MsiEnumComponents function enumerates the installed components for all products. This function retrieves one component code each time it is called. (ANSI) |
MsiEnumComponentsExA The MsiEnumComponentsEx function enumerates installed components. The function retrieves the component code for one component each time it is called. The component code is the string GUID unique to the component, version, and language. (ANSI) |
MsiEnumComponentsExW The MsiEnumComponentsEx function enumerates installed components. The function retrieves the component code for one component each time it is called. The component code is the string GUID unique to the component, version, and language. (Unicode) |
MsiEnumComponentsW The MsiEnumComponents function enumerates the installed components for all products. This function retrieves one component code each time it is called. (Unicode) |
MsiEnumFeaturesA The MsiEnumFeatures function enumerates the published features for a given product. This function retrieves one feature ID each time it is called. (ANSI) |
MsiEnumFeaturesW The MsiEnumFeatures function enumerates the published features for a given product. This function retrieves one feature ID each time it is called. (Unicode) |
MsiEnumPatchesA The MsiEnumPatches function enumerates all of the patches that have been applied to a product. (ANSI) |
MsiEnumPatchesExA Enumerates all patches in a specific context or across all contexts. (ANSI) |
MsiEnumPatchesExW Enumerates all patches in a specific context or across all contexts. (Unicode) |
MsiEnumPatchesW The MsiEnumPatches function enumerates all of the patches that have been applied to a product. (Unicode) |
MsiEnumProductsA The MsiEnumProducts function enumerates through all the products currently advertised or installed. Products that are installed in both the per-user and per-machine installation context and advertisements are enumerated. (ANSI) |
MsiEnumProductsExA Enumerates through one or all the instances of products that are currently advertised or installed in the specified contexts. (ANSI) |
MsiEnumProductsExW Enumerates through one or all the instances of products that are currently advertised or installed in the specified contexts. (Unicode) |
MsiEnumProductsW The MsiEnumProducts function enumerates through all the products currently advertised or installed. Products that are installed in both the per-user and per-machine installation context and advertisements are enumerated. (Unicode) |
MsiEnumRelatedProductsA The MsiEnumRelatedProducts function enumerates products with a specified upgrade code. This function lists the currently installed and advertised products that have the specified UpgradeCode property in their Property table. (ANSI) |
MsiEnumRelatedProductsW The MsiEnumRelatedProducts function enumerates products with a specified upgrade code. This function lists the currently installed and advertised products that have the specified UpgradeCode property in their Property table. (Unicode) |
MsiExtractPatchXMLDataA The MsiExtractPatchXMLData function extracts information from a patch that can be used to determine if the patch applies to a target system. (ANSI) |
MsiExtractPatchXMLDataW The MsiExtractPatchXMLData function extracts information from a patch that can be used to determine if the patch applies to a target system. (Unicode) |
MsiGetComponentPathA The MsiGetComponentPath function returns the full path to an installed component. If the key path for the component is a registry key then the registry key is returned. (ANSI) |
MsiGetComponentPathExA Returns the full path to an installed component. (ANSI) |
MsiGetComponentPathExW Returns the full path to an installed component. (Unicode) |
MsiGetComponentPathW The MsiGetComponentPath function returns the full path to an installed component. If the key path for the component is a registry key then the registry key is returned. (Unicode) |
MsiGetFeatureInfoA Returns descriptive information for a feature. (ANSI) |
MsiGetFeatureInfoW Returns descriptive information for a feature. (Unicode) |
MsiGetFeatureUsageA The MsiGetFeatureUsage function returns the usage metrics for a product feature. (ANSI) |
MsiGetFeatureUsageW The MsiGetFeatureUsage function returns the usage metrics for a product feature. (Unicode) |
MsiGetFileHashA The MsiGetFileHash function takes the path to a file and returns a 128-bit hash of that file. Authoring tools may use MsiGetFileHash to obtain the file hash needed to populate the MsiFileHash table. (ANSI) |
MsiGetFileHashW The MsiGetFileHash function takes the path to a file and returns a 128-bit hash of that file. Authoring tools may use MsiGetFileHash to obtain the file hash needed to populate the MsiFileHash table. (Unicode) |
MsiGetFileSignatureInformationA The MsiGetFileSignatureInformation function takes the path to a file that has been digitally signed and returns the file's signer certificate and hash. (ANSI) |
MsiGetFileSignatureInformationW The MsiGetFileSignatureInformation function takes the path to a file that has been digitally signed and returns the file's signer certificate and hash. (Unicode) |
MsiGetFileVersionA The MsiGetFileVersion returns the version string and language string in the format that the installer expects to find them in the database. (ANSI) |
MsiGetFileVersionW The MsiGetFileVersion returns the version string and language string in the format that the installer expects to find them in the database. (Unicode) |
MsiGetPatchFileListA The MsiGetPatchFileList function is provided a list of .msp files, delimited by semicolons, and retrieves the list of files that can be updated by the patches. (ANSI) |
MsiGetPatchFileListW The MsiGetPatchFileList function is provided a list of .msp files, delimited by semicolons, and retrieves the list of files that can be updated by the patches. (Unicode) |
MsiGetPatchInfoA The MsiGetPatchInfo function returns information about a patch. (ANSI) |
MsiGetPatchInfoExA Queries for information about the application of a patch to a specified instance of a product. (ANSI) |
MsiGetPatchInfoExW Queries for information about the application of a patch to a specified instance of a product. (Unicode) |
MsiGetPatchInfoW The MsiGetPatchInfo function returns information about a patch. (Unicode) |
MsiGetProductCodeA The MsiGetProductCode function returns the product code of an application by using the component code of an installed or advertised component of the application. (ANSI) |
MsiGetProductCodeW The MsiGetProductCode function returns the product code of an application by using the component code of an installed or advertised component of the application. (Unicode) |
MsiGetProductInfoA The MsiGetProductInfo function returns product information for published and installed products. (ANSI) |
MsiGetProductInfoExA Returns product information for advertised and installed products. (ANSI) |
MsiGetProductInfoExW Returns product information for advertised and installed products. (Unicode) |
MsiGetProductInfoFromScriptA The MsiGetProductInfoFromScript function returns product information for a Windows Installer script file. (ANSI) |
MsiGetProductInfoFromScriptW The MsiGetProductInfoFromScript function returns product information for a Windows Installer script file. (Unicode) |
MsiGetProductInfoW The MsiGetProductInfo function returns product information for published and installed products. (Unicode) |
MsiGetProductPropertyA The MsiGetProductProperty function retrieves product properties. These properties are in the product database. (ANSI) |
MsiGetProductPropertyW The MsiGetProductProperty function retrieves product properties. These properties are in the product database. (Unicode) |
MsiGetShortcutTargetA The MsiGetShortcutTarget function examines a shortcut and returns its product, feature name, and component if available. (ANSI) |
MsiGetShortcutTargetW The MsiGetShortcutTarget function examines a shortcut and returns its product, feature name, and component if available. (Unicode) |
MsiGetUserInfoA The MsiGetUserInfo function returns the registered user information for an installed product. (ANSI) |
MsiGetUserInfoW The MsiGetUserInfo function returns the registered user information for an installed product. (Unicode) |
MsiInstallMissingComponentA The MsiInstallMissingComponent function installs files that are unexpectedly missing. (ANSI) |
MsiInstallMissingComponentW The MsiInstallMissingComponent function installs files that are unexpectedly missing. (Unicode) |
MsiInstallMissingFileA The MsiInstallMissingFile function installs files that are unexpectedly missing. (ANSI) |
MsiInstallMissingFileW The MsiInstallMissingFile function installs files that are unexpectedly missing. (Unicode) |
MsiInstallProductA Installs or uninstalls a product. (MsiInstallProductA) |
MsiInstallProductW Installs or uninstalls a product. (MsiInstallProductW) |
MsiIsProductElevatedA The MsiIsProductElevated function returns whether or not the product is managed. (ANSI) |
MsiIsProductElevatedW The MsiIsProductElevated function returns whether or not the product is managed. (Unicode) |
MsiJoinTransaction The MsiJoinTransaction function requests that the Windows Installer make the current process the owner of the transaction installing the multiple-package installation. |
MsiLocateComponentA The MsiLocateComponent function returns the full path to an installed component without a product code. (ANSI) |
MsiLocateComponentW The MsiLocateComponent function returns the full path to an installed component without a product code. (Unicode) |
MsiNotifySidChangeA The MsiNotifySidChange function notifies and updates the Windows Installer internal information with changes to user SIDs. (ANSI) |
MsiNotifySidChangeW The MsiNotifySidChange function notifies and updates the Windows Installer internal information with changes to user SIDs. (Unicode) |
MsiOpenPackageA The MsiOpenPackage function opens a package to use with the functions that access the product database. (ANSI) |
MsiOpenPackageExA The MsiOpenPackageEx function opens a package to use with functions that access the product database. (ANSI) |
MsiOpenPackageExW The MsiOpenPackageEx function opens a package to use with functions that access the product database. (Unicode) |
MsiOpenPackageW The MsiOpenPackage function opens a package to use with the functions that access the product database. (Unicode) |
MsiOpenProductA The MsiOpenProduct function opens a product for use with the functions that access the product database. The MsiCloseHandle function must be called with the handle when the handle is no longer needed. (ANSI) |
MsiOpenProductW The MsiOpenProduct function opens a product for use with the functions that access the product database. The MsiCloseHandle function must be called with the handle when the handle is no longer needed. (Unicode) |
MsiProcessAdvertiseScriptA The MsiProcessAdvertiseScript function processes an advertise script file into the specified locations. (ANSI) |
MsiProcessAdvertiseScriptW The MsiProcessAdvertiseScript function processes an advertise script file into the specified locations. (Unicode) |
MsiProvideAssemblyA The MsiProvideAssembly function returns the full path to a Windows Installer component that contains an assembly. The function prompts for a source and performs any necessary installation. MsiProvideAssembly increments the usage count for the feature. (ANSI) |
MsiProvideAssemblyW The MsiProvideAssembly function returns the full path to a Windows Installer component that contains an assembly. The function prompts for a source and performs any necessary installation. MsiProvideAssembly increments the usage count for the feature. (Unicode) |
MsiProvideComponentA The MsiProvideComponent function returns the full component path, performing any necessary installation. This function prompts for source if necessary and increments the usage count for the feature. (ANSI) |
MsiProvideComponentW The MsiProvideComponent function returns the full component path, performing any necessary installation. This function prompts for source if necessary and increments the usage count for the feature. (Unicode) |
MsiProvideQualifiedComponentA The MsiProvideQualifiedComponent function returns the full component path for a qualified component and performs any necessary installation. This function prompts for source if necessary, and increments the usage count for the feature. (ANSI) |
MsiProvideQualifiedComponentExA The MsiProvideQualifiedComponentEx function returns the full component path for a qualified component that is published by a product and performs any necessary installation. (ANSI) |
MsiProvideQualifiedComponentExW The MsiProvideQualifiedComponentEx function returns the full component path for a qualified component that is published by a product and performs any necessary installation. (Unicode) |
MsiProvideQualifiedComponentW The MsiProvideQualifiedComponent function returns the full component path for a qualified component and performs any necessary installation. This function prompts for source if necessary, and increments the usage count for the feature. (Unicode) |
MsiQueryComponentStateA The MsiQueryComponentState function returns the installed state for a component. (ANSI) |
MsiQueryComponentStateW The MsiQueryComponentState function returns the installed state for a component. (Unicode) |
MsiQueryFeatureStateA The MsiQueryFeatureState function returns the installed state for a product feature. (ANSI) |
MsiQueryFeatureStateExA The MsiQueryFeatureStateEx function returns the installed state for a product feature. (ANSI) |
MsiQueryFeatureStateExW The MsiQueryFeatureStateEx function returns the installed state for a product feature. (Unicode) |
MsiQueryFeatureStateW The MsiQueryFeatureState function returns the installed state for a product feature. (Unicode) |
MsiQueryProductStateA The MsiQueryProductState function returns the installed state for a product. (ANSI) |
MsiQueryProductStateW The MsiQueryProductState function returns the installed state for a product. (Unicode) |
MsiReinstallFeatureA Reinstalls features. (ANSI) |
MsiReinstallFeatureW Reinstalls features. (Unicode) |
MsiReinstallProductA Reinstalls products. (ANSI) |
MsiReinstallProductW Reinstalls products. (Unicode) |
MsiRemovePatchesA Removes one or more patches from a single product. (ANSI) |
MsiRemovePatchesW Removes one or more patches from a single product. (Unicode) |
MsiSetExternalUIA The MsiSetExternalUI function enables an external user-interface handler. (ANSI) |
MsiSetExternalUIRecord The MsiSetExternalUIRecord function enables an external user-interface (UI) handler. |
MsiSetExternalUIW The MsiSetExternalUI function enables an external user-interface handler. (Unicode) |
MsiSetInternalUI The MsiSetInternalUI function enables the installer's internal user interface. Then this user interface is used for all subsequent calls to user-interface-generating installer functions in this process. For more information, see User Interface Levels. |
MsiSourceListAddMediaDiskA The MsiSourceListAddMediaDisk function adds or updates a disk of the media source of a registered product or patch. (ANSI) |
MsiSourceListAddMediaDiskW The MsiSourceListAddMediaDisk function adds or updates a disk of the media source of a registered product or patch. (Unicode) |
MsiSourceListAddSourceA Adds to the list of valid network sources that contain the specified type of sources for a product or patch in a specified user context. (ANSI) |
MsiSourceListAddSourceExA Adds or reorders the set of sources of a patch or product in a specified context. It can also create a source list for a patch that does not exist in the specified context. (ANSI) |
MsiSourceListAddSourceExW Adds or reorders the set of sources of a patch or product in a specified context. It can also create a source list for a patch that does not exist in the specified context. (Unicode) |
MsiSourceListAddSourceW Adds to the list of valid network sources that contain the specified type of sources for a product or patch in a specified user context. (Unicode) |
MsiSourceListClearAllA The MsiSourceListClearAll function removes all network sources from the source list of a patch or product in a specified context. For more information, see Source Resiliency. (ANSI) |
MsiSourceListClearAllExA The MsiSourceListClearAllEx function removes all the existing sources of a given source type for the specified product or patch instance. (ANSI) |
MsiSourceListClearAllExW The MsiSourceListClearAllEx function removes all the existing sources of a given source type for the specified product or patch instance. (Unicode) |
MsiSourceListClearAllW The MsiSourceListClearAll function removes all network sources from the source list of a patch or product in a specified context. For more information, see Source Resiliency. (Unicode) |
MsiSourceListClearMediaDiskA The MsiSourceListClearMediaDisk function provides the ability to remove an existing registered disk under the media source for a product or patch in a specific context. (ANSI) |
MsiSourceListClearMediaDiskW The MsiSourceListClearMediaDisk function provides the ability to remove an existing registered disk under the media source for a product or patch in a specific context. (Unicode) |
MsiSourceListClearSourceA Removes an existing source for a product or patch in a specified context. (ANSI) |
MsiSourceListClearSourceW Removes an existing source for a product or patch in a specified context. (Unicode) |
MsiSourceListEnumMediaDisksA The MsiSourceListEnumMediaDisks function enumerates the list of disks registered for the media source for a patch or product. (ANSI) |
MsiSourceListEnumMediaDisksW The MsiSourceListEnumMediaDisks function enumerates the list of disks registered for the media source for a patch or product. (Unicode) |
MsiSourceListEnumSourcesA The MsiSourceListEnumSources function enumerates the sources in the source list of a specified patch or product. (ANSI) |
MsiSourceListEnumSourcesW The MsiSourceListEnumSources function enumerates the sources in the source list of a specified patch or product. (Unicode) |
MsiSourceListForceResolutionA The MsiSourceListForceResolution function forces the installer to search the source list for a valid product source the next time a source is required. (ANSI) |
MsiSourceListForceResolutionExA The MsiSourceListForceResolutionEx function removes the registration of the property called "LastUsedSource". (ANSI) |
MsiSourceListForceResolutionExW The MsiSourceListForceResolutionEx function removes the registration of the property called "LastUsedSource". (Unicode) |
MsiSourceListForceResolutionW The MsiSourceListForceResolution function forces the installer to search the source list for a valid product source the next time a source is required. (Unicode) |
MsiSourceListGetInfoA The MsiSourceListGetInfo function retrieves information about the source list for a product or patch in a specific context. (ANSI) |
MsiSourceListGetInfoW The MsiSourceListGetInfo function retrieves information about the source list for a product or patch in a specific context. (Unicode) |
MsiSourceListSetInfoA Sets information about the source list for a product or patch in a specific context. (ANSI) |
MsiSourceListSetInfoW Sets information about the source list for a product or patch in a specific context. (Unicode) |
MsiUseFeatureA The MsiUseFeature function increments the usage count for a particular feature and indicates the installation state for that feature. This function should be used to indicate an application's intent to use a feature. (ANSI) |
MsiUseFeatureExA The MsiUseFeatureEx function increments the usage count for a particular feature and indicates the installation state for that feature. This function should be used to indicate an application's intent to use a feature. (ANSI) |
MsiUseFeatureExW The MsiUseFeatureEx function increments the usage count for a particular feature and indicates the installation state for that feature. This function should be used to indicate an application's intent to use a feature. (Unicode) |
MsiUseFeatureW The MsiUseFeature function increments the usage count for a particular feature and indicates the installation state for that feature. This function should be used to indicate an application's intent to use a feature. (Unicode) |
MsiVerifyPackageA The MsiVerifyPackage function verifies that the given file is an installation package. (ANSI) |
MsiVerifyPackageW The MsiVerifyPackage function verifies that the given file is an installation package. (Unicode) |
INSTALLUI_HANDLER_RECORD The INSTALLUI_HANDLER_RECORD function prototype defines a callback function that the installer calls for progress notification and error messages. Call the MsiSetExternalUIRecord function to enable a record-base external user-interface (UI) handler. |
INSTALLUI_HANDLERA The INSTALLUI_HANDLER function prototype defines a callback function that the installer calls for progress notification and error messages. (ANSI) |
INSTALLUI_HANDLERW The INSTALLUI_HANDLER function prototype defines a callback function that the installer calls for progress notification and error messages. (Unicode) |
MSIFILEHASHINFO The MSIFILEHASHINFO structure contains the file hash information returned by MsiGetFileHash and used in the MsiFileHash table. |
MSIPATCHSEQUENCEINFOA The MSIPATCHSEQUENCEINFO structure is used by the MsiDeterminePatchSequence and MsiDetermineApplicablePatches functions. (ANSI) |
MSIPATCHSEQUENCEINFOW The MSIPATCHSEQUENCEINFO structure is used by the MsiDeterminePatchSequence and MsiDetermineApplicablePatches functions. (Unicode) |
Training
Learning path
Implement finance and operations apps - Training
Plan and design your project methodology to successfully implement finance and operations apps with FastTrack services, data management and more.