Domanda

sto usando heat.exe per generare frammenti simili a questo:

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

Questi frammenti vengono memorizzate nel file WXS auto-generata.

Sono poi aggiungendoli nella mia funzione (nel file WiX principale) in questo modo:

<ComponentGroupRef Id="Components"/>

Questo funziona bene.

Tuttavia, vorrei anche aggiungere un collegamento a Bar.exe al mio menu di avvio. Io idealmente voglio fare questo nel mio file Wix principale, con la componente Bar.exe ancora risiede nel file WXS auto-generata. Come faccio a affrontare questo problema senza modificare il codice generato automaticamente?

È stato utile?

Soluzione

Ti necessariamente vuole che risiedono nella definizione? Si può avere in un componente separato, il modo in cui viene dimostrato nel manuale: http: //wix.sourceforge.net/manual-wix3/create_start_menu_shortcut.htm

In caso contrario, probabilmente si dovrebbe trasformare la produzione di calore con la trasformazione XSL aggiungendo la definizione lì. Heat.exe accetta l'interruttore di applicare trasformazione XSL a destra dopo la raccolta.

Spero che questo aiuti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top