MsiConfigureProductExA function (msi.h)

The MsiConfigureProductEx function installs or uninstalls a product. A product command line can also be specified.

Syntax

UINT MsiConfigureProductExA(
  [in] LPCSTR       szProduct,
  [in] int          iInstallLevel,
  [in] INSTALLSTATE eInstallState,
  [in] LPCSTR       szCommandLine
);

Parameters

[in] szProduct

Specifies the product code for the product to be configured.

[in] iInstallLevel

Specifies how much of the product should be installed when installing the product to its default state. The iInstallLevel parameters are ignored, and all features are installed, if the eInstallState parameter is set to any value other than INSTALLSTATE_DEFAULT.

This parameter can be one of the following values.

Value Meaning
INSTALLLEVEL_DEFAULT
The authored default features are installed.
INSTALLLEVEL_MINIMUM
Only the required features are installed. You can specify a value between INSTALLLEVEL_MINIMUM and INSTALLLEVEL_MAXIMUM to install a subset of available features.
INSTALLLEVEL_MAXIMUM
All features are installed. You can specify a value between INSTALLLEVEL_MINIMUM and INSTALLLEVEL_MAXIMUM to install a subset of available features.

[in] eInstallState

Specifies the installation state for the product. This parameter can be one of the following values.

Value Meaning
INSTALLSTATE_LOCAL
The product is to be installed with all features installed locally.
INSTALLSTATE_ABSENT
The product is uninstalled.
INSTALLSTATE_SOURCE
The product is to be installed with all features installed to run from source.
INSTALLSTATE_DEFAULT
The product is to be installed with all features installed to the default states specified in the Feature Table.
INSTALLSTATE_ADVERTISED
The product is advertised.

[in] szCommandLine

Specifies the command-line property settings. This should be a list of the format Property=Setting Property=Setting. For more information, see About Properties.

Return value

Value Meaning
ERROR_INVALID_PARAMETER
An invalid parameter is passed to the function.
ERROR_SUCCESS
The function succeeded.
An error that relates to an action
For more information, see Error Codes.
Initialization Error
An error relating to initialization occurred.

Remarks

The command line passed in as szCommandLine can contain any of the Feature Installation Options Properties. In this case, the eInstallState passed must be INSTALLSTATE_DEFAULT.

The iInstallLevel parameter is ignored and all features of the product are installed if the eInstallState parameter is set to any other value than INSTALLSTATE_DEFAULT. To control the installation of individual features when the eInstallState parameter is not set to INSTALLSTATE_DEFAULT use MsiConfigureFeature.

The MsiConfigureProductEx function displays the user interface using the current settings. User interface settings can be changed with MsiSetInternalUI, MsiSetExternalUI, or MsiSetExternalUIRecord.

Note

The msi.h header defines MsiConfigureProductEx as an alias that automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that is not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.

Requirements

Requirement Value
Minimum supported client Windows Installer 5.0 on Windows Server 2012, Windows 8, Windows Server 2008 R2 or Windows 7. Windows Installer 4.0 or Windows Installer 4.5 on Windows Server 2008 or Windows Vista. See the Windows Installer Run-Time Requirements for information about the minimum Windows service pack that is required by a Windows Installer version.
Target Platform Windows
Header msi.h
Library Msi.lib
DLL Msi.dll

See also

Displayed Error Messages

Error Codes

Initialization Error

Installation and Configuration Functions

Multiple-Package Installations