2010-03-24 5 views
5

différent j'utilise heat.exe pour générer des fragments similaires à ceci:Ajout raccourci pour le fichier WiX dans un fragment

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

Ces fragments sont stockés dans le fichier wxs généré automatiquement.

Je puis les ajouter dans ma fonction (dans le fichier principal de WiX) comme ceci:

<ComponentGroupRef Id="Components"/> 

Cela fonctionne très bien.

Cependant, je voudrais également ajouter un raccourci à Bar.exe à mon menu de démarrage. Je souhaite idéalement faire cela dans mon fichier wix principal, avec le composant Bar.exe résidant toujours dans le fichier wxs généré automatiquement. Comment aborder ce problème sans modifier le code généré automatiquement?

Répondre

2

Voulez-vous nécessairement qu'il réside dans la définition? Vous pouvez l'avoir dans un composant séparé, comme cela est démontré dans le manuel: http://wix.sourceforge.net/manual-wix3/create_start_menu_shortcut.htm

Sinon, vous devez probablement transformer la sortie de chaleur avec la transformation XSL en y ajoutant la définition. Heat.exe accepte le commutateur pour appliquer la transformation XSL juste après la récolte.

Espérons que cela aide.

Questions connexes