Pergunta

Descobri que o Wix V3 usa uma ferramenta (calor.exe) para "colher" informações em fragmentos WIX. Estou procurando no local errado ou isso está documentado.

Qual é a melhor maneira de gerar automaticamente um fragmento Wix (provavelmente usando calor.exe) para uma estrutura complexa de pastas que contém arquivos de mídia:

  • De tipos variados (ico/png/xaml/etc)
  • Isso pode mudar regularmente (nomes/locais/adicionar/remover)
  • Que são classificados como "conteúdo" e incluídos em um .csproj

Para que eles possam ser incorporados em um instalador via Wix e suportar atualizações e remendos com decoro?

Informações básicas

  1. Encontrei calor.exe, que parece resolver o requisito de fragmento de wix autogererado
  2. Ao trabalhar a colheitadeira "Dir", notei o Harvester "Project" (Ajuda de Commandline)
  3. A mídia já está no arquivo de projeto C# e observou que "-Pog: o conteúdo" pode fazer muito bem
  4. Pesquisa superficial descobriu a documentação desatualizada que não mencionou o "projeto" Harvester
  5. O instalador de projeto inteiro percebido provavelmente poderia ser feito com a Harvester "Project", mas não tinha certeza de quão bem isso foi suportado e quais eram as armadilhas.
  6. Vi a geração de "put-guid-here" e percebeu que a autogeneração de GUIDS provavelmente teria implicações de atualização/patch.
  7. Percebi que deve haver pessoas que usam essas ferramentas para fins semelhantes e provavelmente poderiam me apontar na direção certa.

Foi (razoavelmente) apontar que o V3 ainda não está "feito" (portanto, a escassez de documentação e tutoriais). A sensação de que recebo agora é que não é trivial automatizar isso nos meus scripts de construção, e as ferramentas estão crescendo agora para aliviar isso.

Foi útil?

Solução

Na minha experiência, John Robbins ' Parafina Resolve muitos dos problemas com o Tallow.exe (heat.exe em v3). Não tenho certeza se a parafina joga muito bem com a V3, mas pode valer a pena conferir.

Para sua informação, usei parafina em um processo de construção e me permitiu remover o processo de limpeza de 2-3 etapas anteriores que envolvia um script do PowerShell.

Outras dicas

Para as implicações de atualização de configurações geradas automaticamente, Leia isso. A mensagem para levar para casa:

O Windows Installer não permite remover componentes em uma pequena atualização

É difícil garantir que os componentes continuem a existir se você gerar sua configuração automaticamente. Portanto, você deve escolher entre geração automática de componentes e a capacidade de fazer pequenas atualizações.

Se você tiver alguns componentes gerados automaticamente, basta seguir as principais atualizações. Você pode usar Esta amostra de Rob como um exemplo.

Obrigado pelo fundo, eu não sabia que eles estavam trabalhando em uma nova versão do Wix. De acordo com a página do projeto, ainda não é o RTM, o que pode explicar os problemas que você está tendo. Espero ouvir os desenvolvedores do WIX em uma das respostas.

Não posso ajudá-lo a usar os recursos de Heat.exe sub-desenvolvimento. No entanto, estive em sua situação e minha solução foi criar uma ferramenta que levou informações de diretório e arquivo como entrada e gerou arquivos de projeto WIX válidos como saída. Um arquivo .vsproj é apenas um arquivo XML e você pode usar o XSL, C#Linq, PowerShell ou várias outras ferramentas para fazer o trabalho. Pessoalmente, usei (pré-linq) c#/xmldom para analisar os arquivos do projeto para esse fim.

Boa sorte,

Dave

Para documentação, consulte o arquivo de ajuda instalado com Wix - WIX.CHM fornece as informações mais atualizadas (junto com a linha de comando -help opção).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top