HOWTO: Work Around a Merge Module Directory Conflict

ID: Q230688


The information in this article applies to:


SUMMARY

This article describes the workaround for Microsoft Windows Installer version 1.0 merge modules that use predefined directories. This same technique will be done automatically by a future version of the Windows Installer merge module DLL. 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. A future version of the Windows Installer Mergemod.dll will be updated to ignore this type of custom action if it exists, and to perform this action automatically if it doesn't exist.

Additional query words:


Keywords          : kbAppSetup kbMSI kbGrpDSTools 
Version           : WINDOWS:1.0
Platform          : WINDOWS 
Issue type        : kbhowto 

Last Reviewed: May 28, 1999