Pergunta

Estou usando calor.exe para gerar fragmentos semelhantes a este:

<Fragment>
  <DirectoryRef Id="INSTALLDIR">
    <Component Id="id1" Guid="*">
      <File Id="fid1" KeyPath="yes" Source="SourceDir\Foo1.dll" />
    </Component>
    <Component Id="id2" Guid="*">
      <File Id="fid2" KeyPath="yes" Source="SourceDir\Foo2.dll" />
    </Component>
    <Component Id="id3" Guid="*">
      <File Id="fid3" KeyPath="yes" Source="SourceDir\Bar.exe" />
    </Component>
  </DirectoryRef>
</Fragment>

<Fragment>
    <ComponentGroup Id="Components">
        <ComponentRef Id="id1" />
        <ComponentRef Id="id2" />
        <ComponentRef Id="id3" />
    </ComponentGroup>
</Fragment>

Esses fragmentos são armazenados no arquivo WXS gerado automaticamente.

Estou então adicionando -os ao meu recurso (no arquivo wix principal) como assim:

<ComponentGroupRef Id="Components"/>

Isso funciona bem.

No entanto, eu também gostaria de adicionar um atalho ao Bar.exe ao meu menu Iniciar. Idealmente, quero fazer isso no meu arquivo wix principal, com o componente Bar.exe ainda residindo no arquivo WXS gerado automaticamente. Como eu abordaria esse problema sem modificar o código gerado automaticamente?

Foi útil?

Solução

Você necessariamente quer que ele resida na definição? Você pode tê -lo em um componente separado, a maneira como é demonstrado no manual: http://wix.sourceforge.net/manual-wix3/create_start_menu_shortcut.htm

Caso contrário, você provavelmente deve transformar a saída de calor com a transformação XSL adicionando a definição lá. Calor.exe aceita o interruptor para aplicar a transformação XSL logo após a colheita.

Espero que isto ajude.

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