Adicionando atalho para o arquivo wix em um fragmento diferente
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?
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.