2011-03-21 9 views
5

Por lo tanto, estoy tratando de usar el calor para generar fragmentos para los archivos de mi proyecto. Al mirar los archivos que generé en el pasado y varios artículos de WiX de la red, veo que tengo Fragmentos de Directorio/Componente y luego un Fragmento que define un Grupo de Componente usando ComponentRef.Generación de ComponentGroups de ComponentRefs

<Fragment> 
    <DirectoryRef Id="dir0D9F6D272B6344EBFCF7EED0D14AA801"> 
     <Component Id="cmp0BA12DCC33EB11DEB149261CF6904AAE" Guid="392C95D2-37C1-464E-9979-3E9D2BF57FEE"> 
      <File Id="filB95C5D2C0575B59E63201E24176D55FB" KeyPath="yes" Source="SourceDir\something.dll" /> 
     </Component> 
     <Component Id="cmp895927B450519C5487FDEC914051E715" Guid="DDC12130-C5D5-4727-95D8-660F7229BBD7"> 
      <File Id="fil8C5E22B3AFE9AA6056E1458BD93E3646" KeyPath="yes" Source="SourceDir\whatever.dll" /> 
     </Component> 
</Fragment> 
<Fragment> 
    <ComponentGroup Id="SampleProduct"> 
     <ComponentRef Id="cmp0BA12DCC33EB11DEB149261CF6904AAE" /> 
     <ComponentRef Id="cmp895927B450519C5487FDEC914051E715" /> 
    </ComponentGroup> 
</Fragment> 

¿No se supone que Heat generará este fragmento ComponentGroup? ¿O lo hice manualmente y olvidé que lo hice? Los diversos ejemplos de Heat que encuentro en la web parecen indicar que Heat genera este fragmento.

Estoy haciendo algo como: calor dir. -Gg -G1 -CG whatthe test.wxs

que produce fragmentos de ComponentGroup/salida privado - Componente ni una ComponentRef que se encuentran:

<Fragment> 
    <ComponentGroup Id="WhatThe"> 
     <Component Id="cmp9BDA89E67E0D566068C97D3FA3AEBE70" Directory="dir54021DE1C7E3016732B498A5B2680893" Guid="392C95D2-37C1-464E-9979-3E9D2BF57FEE"> 
      <File Id="filDE3AEB1672B47F4803B1EDAB6016DDD3" KeyPath="yes" Source="SourceDir\something.dll" /> 
     </Component> 
     <Component Id="cmpA8D6F6019E02CAD0DDA17E2F285D7EC8" Directory="dir54021DE1C7E3016732B498A5B2680893" Guid="DDC12130-C5D5-4727-95D8-660F7229BBD7"> 
      <File Id="filDB325609DF363696B3F5E8D1FC22D4C5" KeyPath="yes" Source="SourceDir\whatever.dll" /> 
     </Component> 
    </ComponentGroup> 
</Fragment> 

¿Qué me falta? Además de la memoria a mediano plazo?

Gracias

Respuesta

6

añadido la indicación -sfrag a la línea de comandos heat.exe le dará la salida deseada.

heat dir . -gg -g1 -sfrag -cg WhatThe -out test.wxs