Sì, è necessario aggiungere manualmente ad alcuni file di WXS O è possibile utilizzare una fase di pre-build che utilizza il calore di raccogliere questi file di per voi (supponendo che tutti questi file di risiedere in una directory separata).
calore fa parte di Wix e può raccogliere un'intera directory con l'interruttore dir. A seconda degli argomenti della riga di comando, produrrà un file wxs separato contenente un singolo ComponentGroup. Basta fare riferimento a questo ComponentGroup dal product.wxs.
Per un esempio di come Attualmente uso del calore per raccogliere la mia directory di rilascio:
dir calore "../../bin/release" -Gg -CG CG.ApplicationBinaries -dr INSTALLDIR -scom -sfrag -sreg -srd -var var.BuildOutputDir -o ApplicationBinaries.wxs
Ciò produrrà i ApplicationBinaries.wxs file:
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<DirectoryRef Id="INSTALLDIR">
<Component Id="cmp53F90D1335DD67504EC2B9E1E8620DD3" Guid="{CA2DF1B5-7B20-4596-84A4-925B4F9BA6EC}">
<File Id="filC65F9CB88694FCA79FCB3CADB9481921" KeyPath="yes" Source="$(var.BuildOutputDir)\AsyncTCPsocket.dll" />
</Component>
....
</DirectoryRef>
</Fragment>
<Fragment>
<ComponentGroup Id="CG.ApplicationBinaries">
<ComponentRef Id="cmp53F90D1335DD67504EC2B9E1E8620DD3" />
...
</ComponentGroup>
</Fragment>
</Wix>
fonte
2011-02-10 10:09:41
Grazie, penso che li definirò esplicitamente – devdigital
Non è necessario definire una proprietà per poter fare riferimento al file wxs generato contenente il componentegroup? – KennO
Ti quindi in qualche modo impostare $ (var.BuildOutputDir) a qualcosa come $ (var.YOURPROJECT.TargetDir) all'interno Product.wxs? Se sì, come lo realizzi? – jpierson