The ModuleExclusion table keeps a list of other merge modules that are incompatible in the same installer database. This table enables a merge or verification tool to check that conflicting merge modules are not merged in the user's installer database. The tool checks by cross-referencing this table with the ModuleSignature table in the installer database.
The ModuleExclusion table has the following columns.
Identifier of the merge module. This is a foreign key into the ModuleSignature table.
Decimal language ID of the merge module in ModuleID. This is a foreign key into the ModuleSignature table.
Identifier of an excluded merge module.
Numeric language ID of the merge module in ExcludedID. The ExcludedLanguage column can specify the language ID for a single language, such as 1033 for U.S. English, or specify the language ID for a language group, such as 9 for any English. The ExcludedLanguage column can accept negative language IDs. The meaning of the value in the ExcludedLanguage column is as follows.
ExcludedLanguage Meaning > 0 Exclude the language IDs specified by ExcludedLanguage. = 0 Exclude no language IDs. < 0 Exclude all language IDs except those specified by ExcludedLanguage.
Minimum version excluded from a range. If the ExcludedMinVersion field is Null, all versions before ExcludedMaxVersion are excluded. If both ExcludedMinVersion and ExcludedMaxVersion are Null there is no exclusion based on version.
Maximum version excluded from a range. If the ExcludedMaxVersion field is Null, all versions after ExcludedMinVersion are excluded. If both ExcludedMinVersion and ExcludedMaxVersion are Null there is no exclusion based on version.