Windows Installer Provider
The Windows Installer provider— also known as the MSI provider— allows WMI-enabled applications to access information collected from Windows Installer compliant applications. The MSI provider is installed by default on all Windows 32-bit desktop and server operating systems. The provider is an optional component on Windows 64-bit desktop and server operating systems, but can be installed through the Control panel.
The Windows Installer provider makes the functions of the Windows Installer available through WMI classes. The Windows Installer technology organizes software into a hierarchy of parts that have subparts. Each part contains properties of the installed software product. Arranging the parts in a hierarchy clarifies the nature of the software product installation.
The Windows Installer provider reads the properties of a software product installation for remote users and local computers to use the installation procedures that the Windows Installer provides. By using WMI, you can perform many powerful software installation tasks.
The Windows Installer provider is an instance and method provider that implements the standard IWbemProviderInit interface, and the following IWbemServices methods:
- CreateInstanceEnumAsync
- DeleteInstanceAsync
- ExecMethodAsync
- ExecQueryAsync
- GetObjectAsync
- PutInstanceAsync
The following table identifies the classes and descriptions that the Windows Installer provider supports.
Class category | Description |
---|---|
Actions | Classes derived from CIM_Action represent actions performed during an installation, upgrade, uninstall, or application maintenance. |
Associations | Instances of this association class represent references to other Installer provider classes. |
Checks | Classes derived from CIM_Check represent conditions that should be true when a software feature or element is installed. |
Core Classes | Classes that you can use to access 90 percent of software installation information. These are the most important classes. |
External Associations | Instances of this association class represent references to Microsoft Win32 classes that the Installer provider classes do not support. |
Settings | Instances of settings capture a set of properties that are meaningful within the context of a specific environment (setup). |
Actions
Actions are derived from the Distributed Management Task Force (DMTF) CIM_Action class. An action is an operation that is part of a process to either create a software element in its next state, or to eliminate the software element in the current state. Functions derived from CIM_Action are those performed during an installation, upgrade, uninstall, or application maintenance.
The CIM_Action class can also supply details about actions that the Windows Installer takes if a product or feature is installed, upgraded, or uninstalled.
For example, if a shared element such as a Spell Checker is uninstalled, Microsoft Installer (MSI) might have to update other applications such as word processors and email programs to ensure that they do not offer the Spell Checker feature.
Note
The classes identified in the following list are always associated with software features or their associated elements.
The following list identifies the action classes for the Windows Installer provider:
- Win32_BindImageAction
- Win32_ClassInfoAction
- Win32_CreateFolderAction
- Win32_DuplicateFileAction
- Win32_ExtensionInfoAction
- Win32_FontInfoAction
- Win32_MIMEInfoAction
- Win32_MoveFileAction
- Win32_PublishComponentAction
- Win32_RegistryAction
- Win32_RemoveFileAction
- Win32_RemoveIniAction
- Win32_SelfRegModuleAction
- Win32_ShortcutAction
- Win32_TypeLibraryAction
Associations
Association classes exist so that associations between software application installation objects (products and software features, software elements, checks, and actions) can be represented. These associations are internal to the schema. They do not associate classes outside of the Windows Installer provider schema.
The following list identifies the association classes for the Windows Installer provider:
- Win32_ActionCheck
- Win32_ApplicationCommandLine
- Win32_CheckCheck
- Win32_ODBCDriverSoftwareElement
- Win32_ProductCheck
- Win32_ProductResource
- Win32_ProductSoftwareFeatures
- Win32_SettingCheck
- Win32_ShortcutSAP
- Win32_SoftwareElementAction
- Win32_SoftwareElementCheck
- Win32_SoftwareElementResource
- Win32_SoftwareFeatureAction
- Win32_SoftwareFeatureCheck
- Win32_SoftwareFeatureParent
- Win32_SoftwareFeatureSoftwareElements
Core Classes
The core classes are the base classes of the Windows Installer provider schema. They make up the basic application installation instance hierarchy. You can use the following classes to access the bulk of the information on software application-installations.
The following list identifies the core classes for the Windows Installer provider:
Checks
Checks are derived from the DMTF CIM_Check class. A check is a condition or characteristic that is expected to be true within the scope of a CIM_ComputerSystem instance. The CIM_Check class represents details to be checked when a software feature or element is installed. This information might specify that other software features should be installed, or that specific hardware requirements must be met. An example is a check to see if enough disk space is available.
Note
These classes are always associated with software features or their associated elements.
The following list identifies the check classes for the Windows Installer provider:
- Win32_Condition
- Win32_DirectorySpecification
- Win32_EnvironmentSpecification
- Win32_FileSpecification
- Win32_IniFileSpecification
- Win32_LaunchCondition
- Win32_ODBCDataSourceSpecification
- Win32_ODBCDriverSpecification
- Win32_ODBCTranslatorSpecification
- Win32_ProgIDSpecification
- Win32_ReserveCost
- Win32_ServiceSpecification
- Win32_SoftwareElementCondition
External Associations
External association classes are like association classes except that they represent relationships between objects of Windows Installer classes and objects of standard Win32 classes. Examples of external associations are those that bind software elements to a computer or service access point (SAP).
Note
A CIM_ComputerSystem object represents the environment in which CIM_SoftwareElement instances will be or are installed. If a software element is already installed, the CIM_InstalledSoftwareElement association is used to identify the CIM_ComputerSystem object that represents the environment.
The following list identifies the external association classes for the Windows Installer provider:
Settings
Settings contain more information about installations or their components.
The following list identifies the setting classes for the Windows Installer provider:
- Win32_Binary
- Win32_MSIResource
- Win32_ODBCAttribute
- Win32_ODBCSourceAttribute
- Win32_Patch
- Win32_PatchPackage
- Win32_Property
- Win32_ServiceControl
Related topics