Pregunta

Estoy usando heat.exe para generar fragmentos similar a esto:

<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>

Estos fragmentos se almacenan en el archivo wxs generada automáticamente.

Estoy a continuación, la adición de ellos en mi función (en el archivo principal de WiX) de esta manera:

<ComponentGroupRef Id="Components"/>

Esto funciona muy bien.

Sin embargo, también me gustaría añadir un acceso directo a bar.exe a mi menú de inicio. Me idealmente quiero hacer esto en mi archivo principal Wix, con el componente bar.exe que aún residen en el archivo wxs autogenerado. ¿Cómo voy a abordar este problema sin modificar el código generado automáticamente?

¿Fue útil?

Solución

Foro necesariamente quiere que residen en la definición? Puede tenerlo en un componente separado, la forma en que se demuestra en el manual: http: //wix.sourceforge.net/manual-wix3/create_start_menu_shortcut.htm

De lo contrario, probablemente debería transformar la salida de calor con la transformación XSL mediante la adición de la definición allí. Heat.exe acepta el interruptor para aplicar transformación XSL justo después de la cosecha.

Espero que esto ayude.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top