Merge.MergeEx Method

Windows Installer

Merge.MergeEx Method

The MergeEx method of the Merge object is equivalent to the Merge function, except that it takes an extra argument. The pConfiguration argument is an interface implemented by the client. The argument may be null. The presence of this argument indicates that the client is capable of supporting the configuration functionality, but does not obligate the client to provide configuration data for any specific configurable item.

The Merge method executes a merge of the current database and current module. The merge attaches the components in the module to the feature identified by Feature. The root of the module's directory tree is redirected to the location given by RedirectDir.

Syntax

Script
MergeEx(
  Feature,
  RedirectDir,
  pConfiguration
)

Parameters

Feature

The name of a feature in the database.

RedirectDir

The key of an entry in the Directory table of the database. This parameter may be null or an empty string.

pConfiguration

The pConfiguration argument is an interface implemented by the client. The argument may be null. The presence of this argument indicates that the client is capable of supporting the configuration functionality, but does not obligate the client to provide configuration data for any specific configurable item.

Return Value

This method does not return a value.

Remarks

Once the merge is complete, components in the module are attached to the feature identified by Feature. This feature is not created and must be an existing feature. The module may be attached to additional features using the Connect method.

Changes made to the database are saved if and only if the CloseDatabase method is called with bCommit set to TRUE.

If any merge conflicts occur, including exclusions, they are placed in the error enumerator for later retrieval, but does not cause the merge to fail. Errors may be retrieved through the Errors property. Errors and informational messages are posted to the current log file.

When the merge fails because of an incorrect module configuration the MergeEx function returns E_FAIL. This includes these msmErrorType errors: msmErrorBadNullSubstitution, msmErrorBadSubstitutionType, msmErrorBadNullResponse, msmErrorMissingConfigItem, and msmErrorDataRequestFailed. These errors cause the merge to stop immediately when the error is encountered. The error object is still added to the enumerator when MergeEx returns E_FAIL. For more information about msmErrorType errors, see get_Type Function (Error Object). All other errors cause MergeEx to return S_FALSE and cause the merge to continue.

C++

See MergeEx function.

Requirements

VersionMergemod.dll 2.0 or later
HeaderMergemod.h
DLLMergemod.dll

Send comments about this topic to Microsoft

Build date: 8/13/2009

© 2009 Microsoft Corporation. All rights reserved.