Tipo de diretório
O Tipo de Diretório de tipo semântico é um dos Tipos de Formato de Chave, que consiste em uma chave estrangeira na tabela Directory fornecida pelo usuário.
A ferramenta de mesclagem deve substituir um de identificador de do Windows Installer válido para itens desse tipo. Mergemod.dll não impõe essa restrição e cabe à ferramenta de mesclagem garantir que o usuário forneça uma chave válida na tabela Directory.
Um item configurável do tipo Directory deve modificar apenas o diretório de destino da instalação e não modificar a imagem de origem. Um item configurável desse tipo deve, portanto, modificar apenas chaves estrangeiras para a tabela Directory e não modificar a tabela Directory diretamente.
Como a coluna Directory_ do da tabela Componente não é anulável, null é um valor inválido para um item configurável desse tipo, mesmo que o msmConfigItemNonNullable não esteja definido na coluna Atributos.
O tipo Directory pode ser usado com dois tipos de ContextData.
IsolationDirectory ContextData
Um módulo de mesclagem configurável pode usar esse tipo para permitir que o usuário forneça um diretório de destino para arquivos no módulo. A ferramenta de mesclagem substitui o identificador do diretório nos modelos na coluna Valor da tabela ModuleSubstitution. Para especificar um item configurável desse tipo, os autores do módulo devem inserir o nome do diretório na coluna Nome, digitar "1" na coluna Formato, digitar "Diretório" na coluna Tipo e digitar "IsolationDirectory" na coluna ContextData da tabela ModuleConfiguration.
ShortcutLocation ContextData
Um módulo de mesclagem configurável pode usar esse tipo para permitir que o usuário forneça um diretório de destino para atalhos no módulo. A ferramenta de mesclagem substitui o identificador do atalho nos modelos na coluna Valor da tabela ModuleSubstitution. Para especificar um item configurável desse tipo, os autores do módulo devem inserir o nome do diretório na coluna Nome, digitar "1" na coluna Formato, digitar "Diretório" na coluna Tipo e digitar "ShortcutLocation" na coluna ContextData da tabela ModuleConfiguration.