2012-06-20 19 views
5

Il mio programma di installazione deve copiare i file in installdir ... La mia applicazione ha circa 2000 file e non è possibile per me scrivere lo script per aggiungere ogni file al programma di installazione. C'è qualche opzione in wix in modo che io possa aggiungere tutti i file o l'intera cartella che consiste di file in una volta? Sono nuovo a Wix e non ho trovato alcuna opzione in qualsiasi tutorial per questo ... Si prega di aiutarmi e grazie in anticipo .....Aggiungi una cartella al programma di installazione in wix non file?

risposta

12

Il calore è il WiX harvest tool. Puoi eseguirlo su una directory per generare il codice sorgente WiX necessario.

EDIT: Se si desidera eseguire calore prima il progetto VS costruisce, aggiungerlo ai vostri eventi precompilati progetto come si vede nello screenshot qui sotto (questo è il modo ho la mia messa a punto del progetto per generare dinamicamente fonte WiX per la nostra continua evoluzione contenuto della guida): VS Build Events

Nota l'interruttore -var wix.HelpSource che ho. I file sorgente WiX generati dal calore imposteranno la posizione dei file sorgente su quella variabile invece di codificarla. Così il sorgente generato avrà componenti che simile a questa:

<Component Id="Welcome.htm" Directory="Content" Guid="INSERT-GUID-HERE"> 
    <File Id="Welcome.htm" KeyPath="yes" Source="!(wix.HelpSource)\Content\Welcome.htm" /> 
</Component> 

E nel mio caso particolare, definisco quella variabile nella schermata Impostazioni dello strumento del mio progetto WiX VS alla relativa directory ..\..\Help\Output come si vede qui sotto: enter image description here

NOTA: La raccolta di file in questo modo causerà la modifica dei GUID dei componenti raccolti ogni volta che si crea. Se non si desidera modificare i GUID, potrebbe essere necessario scrivere un wrapper che invochi calore per raccogliere i file, quindi aggiorna la fonte originale WiX, lasciando da soli tutti i GUID.

+0

Se si utilizza wix in un progetto VS, chiamare lo strumento di raccolta calore nella sezione PreBuild del wixproj. In questo modo, ogni volta che lo creerai, si rigenererà senza alcun intervento manuale. –

+0

puoi aiutarmi a farlo in vs? – Prakash

+0

@ user1357950 Ho aggiornato la mia risposta per mostrare come eseguire heat come evento pre-build in visual studio, suggerimento di caveman_dick – BryanJ