How To Work Around a Merge Module Directory Conflict (230688)



The information in this article applies to:

  • Microsoft Windows Installer 1.0

This article was previously published under Q230688

SUMMARY

This article describes the workaround for Microsoft Windows Installer version 1.0 merge modules that use predefined directories. This same technique is done automatically by versions 1.1 and later of the Windows Installer. This workaround is not required in a merge module if you do not use pre-defined directories.

This workaround renames the merge module directory so it does not match a Windows Installer property, and therefore is unique. A property of the same name is set to the value of the Windows Installer directory. When directory resolution happens, the directory has a property of the same name, so the install location of the directory is the value of the property. Files go from the distinct source location to the same target location. This process should completely remove the merge conflicts.

MORE INFORMATION

For all Windows Installer predefined property directories XXXX:

  1. In the module's Directory table, name a directory XXXX.<ModuleGUID>.
  2. Generate a Type 51 (set property) custom action in the merge module Custom Action table named XXXX.<ModuleGUID> with a source of XXXX.<ModuleGUID> and Target of [XXXX].
  3. Place empty *Sequence tables (AdminExecuteSequence, AdminUISequence, AdvtExecuteSequence, AdvtUISequence, InstallExecuteSequence, InstallUISequence) in your merge module.
  4. Place Module*Sequence tables (ModuleAdminExecuteSequence, ModuleAdminUISequence, ModuleAdvtExecuteSequence, ModuleAdvtUISequence, ModuleInstallExecuteSequence, ModuleInstallUISequence) in your module.
  5. Add your XXXX.<ModuleGUID> custom action in all six Module*Sequence tables with an assigned number of "1". Note that this action goes against the rule of never using an assigned sequence number for a customer action. This custom action must come before Costing actions and before the ResolveSource action, which can appear anywhere or not at all.

These steps work for Microsoft Windows Installer version 1.0. The Windows Installer version 1.1 and later is updated to ignore this type of custom action if it exists, and will perform this action automatically if it doesn't exist.

Modification Type:MinorLast Reviewed:7/15/2004
Keywords:kbAppSetup kbhowto KB230688