Wix: Usando KeyPath em Componentes, Diretórios, Arquivos, Registro, etc, etc
Depois de leresta resposta Na abordagem "um arquivo por componente" ao usar o WiX, fiquei curioso para descobrir quais são as práticas recomendadas ao usarKeyPath
atributo em outros elementos, incluindoComponent
, Directory
, Registry
etc etc.
Estou interessado em qualquer sugestão geral, mas aqui estão algumas perguntas concretas:
Se eu tiver um diretório vazio que o instalador precisa criar, devo definirKeyPath="yes"
emDirectory
ou seu paiComponent
? E se não estiver vazio?Se um arquivo tiverKeyPath="yes"
em um cenário de arquivo por componente, é necessário ou uma boa prática configurá-lo em seu componente pai?Eu li em algum lugar que em vez de definirKeyPath
em um arquivo, deve-se usar uma chave do registro para cada arquivo e definirKeyPath="yes"
no elemento de registro ... Isso é realmente verdadeiro / necessário?Obrigado!
Editar # 1 - esclarecimento re:Directory
Eu estava ciente de Directory não ter KeyPath, mas não foi explícito / detalhado na minha pergunta. Principalmente, eu estava curioso sobre o uso de KeyPath em um componente quando um diretório vazio tem que ser criado. Estou vendo que KeyPath = "yes" está, nesse caso, sendo definido no componente pai. Mas isso é suficiente para o instalador detectar / reparar a pasta vazia ausente? Ou deve ser usado junto com a entrada do registro? Exemplo de fragmento:
<code><Directory Id="LOGS" Name="Logs"> <Component Id="LogsDir" Guid="*" KeyPath="yes"> <CreateFolder Directory="LOGS" /> </Component> </Directory> </code>