WiX: Utilizzare Heast.exe nell’evento post build nei progetti di Visual Studio 2010

Buonasera,

Volevo condividere il modo in cui ho deciso di generare i frammenti di tipo wxs per i progetti di Setup creati con WiX utilizzando il tool Heat ottenendo al tempo stesso la compatibilità con Microsoft Team Foundation 2010 Build Service Host .

L’idea è che ogni progetto di libraria o di un eseguibile scritti in VB .NET o C# deve generare i propri frammenti wxs all’interno del proprio post build event.

Ad esempio il comando da utilizzare per generare il frammento wxs in grado di registrare una dll nella GAC è:

"$(WIX)binheat.exe"
file "$(TargetPath)"
-cg $(TargetFileName)
-gg
-var var.$(ProjectName).TargetDir
-srd
-dr INSTALLLOCATION
-t $(SolutionDir)HeatGAC.xslt
-out "$(SolutionDir)WiXSetupFragments$(TargetFileName).wxs"

Oppure se volete registrare una TypeLibrary potete usare il comando:

"$(WIX)binheat.exe"
file "$(TargetDir)$(TargetName).tlb"
-cg $(TargetName).tlb
-gg
-var var.$(ProjectName).TargetDir
-srd
-dr INSTALLLOCATION
-out "$(SolutionDir)WiXSetupFragments$(TargetName).tlb.wxs"

Se avete necessità di capire più in dettaglio la sintassi fatemi sapere.

Sperando vi sia utile,

Buonanotte!

Sostieni il blog con una piccola donazione! Grazie!