Functions Not for Use in Custom Actions
The following Database Functions must never be called from a custom action.
- MsiConfigureProduct
- MsiConfigureProductEx
- MsiCreateTransformSummaryInfo
- MsiDatabaseApplyTransform
- MsiDatabaseCommit
- MsiDatabaseExport
- MsiDatabaseGenerateTransform
- MsiDatabaseImport
- MsiDatabaseMerge
- MsiEnableLog
- MsiEnableUIPreview
- MsiGetDatabaseState
- MsiOpenDatabase
- MsiPreviewBillboard
- MsiPreviewDialog
- MsiReinstallProduct
- MsiSetExternalUI
- MsiSetExternalUIRecord
- MsiSetInternalUI
The following Installer Functions must never be called from a custom action.
- MsiApplyPatch
- MsiCollectUserInfo
- MsiConfigureFeature
- MsiConfigureProduct
- MsiConfigureProductEx
- MsiEnableLog
- MsiGetFeatureInfo
- MsiGetProductCode
- MsiGetProductProperty
- MsiInstallMissingComponent
- MsiInstallMissingFile
- MsiInstallProduct
- MsiOpenPackage
- MsiOpenProduct
- MsiReinstallFeature
- MsiReinstallProduct
- MsiSetExternalUI
- MsiSetInternalUI
- MsiUseFeature
- MsiUseFeatureEx
- MsiVerifyPackage
The following Installer Functions must never be called from a custom action if doing so starts another installation. They may be called from a custom action that does not start another installation.
A custom action should never spawn a new thread that uses Windows Installer functions to change the feature state, component state, or to send messages from a Control Event. Attempting to do this causes the installation to fail.