2009-10-17 19 views
8

C'è un modo per includere automaticamente i file in base alla struttura delle directory?Inclusione automatica file WiX

Non voglio aggiungere ogni nome di file con la scheda Id del file.

mio processo di compilazione creare la struttura di directory richiesta:

ProductName 
      Directory1 
      Directory2 
      Directory3 
      Directory4 

Come posso aggiungere quelle directory e le loro sottodirectory?

risposta

6

No, non automaticamente. Esistono tuttavia alcuni strumenti (chiamati "tallow" per Wix "o" heat "per Wix3) che eseguiranno la scansione di una directory e creeranno un frammento Wix (un file Wix * .xxs separato) per te. Puoi quindi compilare quella" filelist ". WXS" di file (o come si chiama) nella vostra WiX installazione.

Vai a questa pagina per il WiX3 heat documentation e ci dovrebbe essere anche un WiX2 equivalente per il sego su quel sito.

Marc

16

c'è anche Paraffin per John Robbins. Ha alcune caratteristiche interessanti:

Il mio obiettivo per PARAFFIN.EXE era che avrebbe creato frammenti WiX immediatamente consumabili con un minimo di confusione da parte dell'utente. Volevo PARAFFIN.EXE per soddisfare i seguenti requisiti per la creazione di un frammento inizialmente .WXS per una directory:

  • PARRAFIN.EXE creato valori unici al componente, directory e file elementi di attributo Id in modo da non dover preoccuparsi di conflitti in tutto grandi progetti
  • PARAFIN.EXE crea un elemento ComponentGroup nel file di output con tutti gli elementi componenti del file automaticamente specificato con ComponentRef valori
  • opzionalmente si può escludere le estensioni di file specifici vengano aggiunti al frammento .WXS
  • È possibile escludere facoltativamente le directory da inclusione specificando un nome parziale
  • È possibile specificare se si desidera che i valori GUID generati automaticamente per tutti i componenti
  • è possibile specificare più file per componente (il valore predefinito è un file per ogni componente)
  • È possibile specificare che non si desidera reclamare directory diverse da quella specificata
  • È possibile specificare un alias per il nome della directory quando si imposta l'elemento File - - Attributo origine in modo che non si disponga di nomi di unità e directory codificati nell'output. File WXS

Dopo aver creato un frammento .WXS con PARAFFIN.EXE, non si desidera modificare manualmente il frammento, quindi volevo PARAFFIN.EXE per soddisfare i seguenti requisiti per la creazione di un file di output aggiornato da un esistente. WXS frammento:

  • l'uscita aggiornata viene scritto in un file .PARAFFIN in modo che il frammento originale .WXS non è disturbato
  • Tutte le opzioni della riga di comando specificate durante la creazione del frammento .WXS iniziali vengono impostati automaticamente durante l'aggiornamento di un file creato da PARAFFIN.EXE
  • Eventuali nuove directory e file trovati vengono automaticamente aggiunti al file di output
  • tutte le directory ei file che non fanno più parte della struttura delle directory vengono rimossi dal file di output
+2

Link al [kerosene ] (http://www.wintellect.com/CS/blogs/jrobbins/archive/2008/12/22/paraffin-3-0-now-with-full-wix-3-0-support.aspx) è rotto - Ricevo un errore di 404 **. Sai se lo strumento esiste ancora? – Matt

+1

Nuovo link: https://github.com/Wintellect/Paraffin – garrettendi