2009-02-24 5 views
33
  • Qual è la differenza tra un file WiX (file .wxi) e un frammento WiX (file .wxs)?
  • Quali sono i casi d'uso per ciascuno?
  • Quale deve essere utilizzato e perché?

risposta

20

L'estensione del file è una comodità, il contenuto del file è ciò che conta davvero. La distinzione semplifica la gestione della differenza tra l'installazione effettiva (file wxs) e le proprietà richieste per creare l'installazione (file wxi).

Per esempio, i file WXS specificano il prodotto ed il suo contenuto (quali file si installa), mentre si dovrebbe utilizzare i file WXI di specificare la versione del prodotto, aggiornare i codici, i percorsi comuni, ecc

La documentazione WiX fornisce alcune informazioni chiare.

19

Personalmente, io uso solo .wxi file da includere comuni <?define?> s. Organizzo il resto del mio prodotto in molti diversi raggruppamenti logici di Fragments. Tratta i frammenti come funzioni nel tuo tipico linguaggio procedurale. Raggruppa le cose insieme e non renderle troppo lunghe.

0

Una cosa da tenere presente è che l'aggiunta di un file wxs al progetto implica che MSBuild eseguirà una build incrementale quando si aggiorna il file wxs. Includere un file wxi non lo fa.

Ma d'altra parte, MSBuild non sta facendo build automatici quando uno qualsiasi dei file che hai incluso nel tuo msi è stato aggiornato, quindi probabilmente non stai facendo build incrementali.