Tipo de diretório
O Tipo de Diretório do tipo semântico é um dos Tipos de Formato de Chave, que consiste em uma chave estrangeira na tabela Diretório fornecida pelo usuário.
A ferramenta de mesclagem deve substituir um Identificador 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 para a tabela Diretório.
Um item configurável do tipo Diretório só deve modificar o diretório de destino da instalação e não modificar a imagem de origem. Portanto, um item configurável desse tipo deve modificar apenas chaves estrangeiras para a tabela Diretório e não modificar a tabela diretório diretamente.
Como a coluna Directory_ da tabela Component não permite valor nulo, nulo é um valor inválido para um item configurável desse tipo, mesmo que o msmConfigItemNonNullable não esteja definido na coluna Atributos.
O tipo diretório 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, inserir "1" na coluna Formato, inserir "Diretório" na coluna Tipo e inserir "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, inserir "1" na coluna Formato, inserir "Directory" na coluna Tipo e inserir "ShortcutLocation" na coluna ContextData da tabela ModuleConfiguration.