2013-05-10 27 views
5

Web proje yükleyicimiz için bir dosya oluşturmak için HEAT kullanıyoruz. Derleme içerisine dahil edilebilecek, ancak projeye dahil edilemeyen bir yol olup olmadığını bilmek istiyorum.Oluşturulan bir dosyayı mevcut bir dosya olarak eklemeden bir WiX projesine dahil edebilirsiniz

Buna ihtiyacımın nedeni, dosyayı kaynak denetimimizde kontrol etmek istemiyorum, ancak wixproj'u oluşturduğumuzda oluşturmam gerekiyor. Aksi takdirde, projeyi güvenilir bir şekilde oluşturmak için dosyayı kaçırmamız/kontrol etmemiz gerekir.

cevap

5

.MSI'nizi oluşturmak için MSBuild ve bir .wixproj kullanıyorsanız, HEAT çıktısının .wixproj dosyasında Compile öğesinde listelenmesi gerekir. Dosya dahil değilse, nihai .MSI'ye derlenmez.

Neyse ki, MSBuild öğeleri dinamik olarak eklemek için birkaç seçenek sunar. Sonra wix.targets yılında Compile hedefin önce RunHeat üretilen Compile öğeyi çalıştırmak için RunHeat hedef alırsanız Örneğin, Şimdi çıkışı

<Target Name='RunHeat'> 
    <Exec Command='heat.exe param param param -o path\to\output.wxs' /> 
    <ItemGroup> 
     <Compile Include='path\to\output.wxs' /> 
    </ItemGroup> 
</Target> 

HEAT çalışır ve ekler .wixproj özel bir hedef olabilir olacak Compile hedefine dahil edilmelidir. MSBuild'in esnekliği göz önüne alındığında, muhtemelen bu görevi yerine getirebileceğiniz bir düzine başka yol vardır.

Yardım edin ve iyi şanslar dilerim!

+1

Ayrıca OMG adam kendisi benim sorumu yanıtladı;) – Spence

+0

Orada mevcut bir dosyayı zorlamak için orada başka bir komut bırakmıştı – Spence

İlgili konular