2010-04-17 19 views
5

'dan erişilememesini sağlayın. Tüm wxs dosyalarında kullanılan bazı iyi tanımları içeren bir defines.wxi dosyam var.WiX: Tanımladığınız dosyanın wxs-fragment-file

Tanımlanan değeri <Fragment>-dosyalarından birine başvurmaya çalıştığımda, yüzüme geri Undefined preprocessor variable '$(var.IMAGE_FOLDER)' ulaşıyorum.

Sanırım burada eksik olan bir şey var ... Herhangi bir fikrin var mı?

Düzenleme 19: Nisan.
Bu sorun yalnızca bir Fragment dosyasından referans olması durumunda oluşur.
Örnekle eşleşecek şekilde yeniden yazdınız.


defines.wxi

<Include> 
    <?define IMAGE_FOLDER="Images" ?> 
</Include> 

bunu sağlanan hata mesajının metninde bazı-Fragment.wxs

<Fragment> 
    <?Include defines.wxi ?> 

    <Component Id='c.Images' Guid=".." Directory='INSTALLDIR.Images' > 
    <File Id='f.sample.jpg' Source='$(var.IMAGE_FOLDER)sample.jpg' Name='sample.jpg' /> 
    </Component> 
+0

benim için Çalışır ... –

+0

Yukarıdaki örnek yalnızca oluşur simplified.issue etmek olduğunu Bulunan Bir Parçası-dosyasından başvuru. Örneklemek için tekrar örnek yazdık. – leiflundgren

cevap

5

Çözüldü.

Nerede numunede diyor ki:

<?Include defines.wxi ?> 

o

<?include defines.wxi ?> 

o zaman bir cazibe gibi çalışır durumda ...

düşük olmalı!

/L'

0

"Tanımsız önişlemci değişkeni '$ diyor (var. MAGE_FOLDER) '", değil $ (var. IMAGE_FOLDER) - önde gelen 'I' eksik. Bu, aynı değişkeni kodunuzun geri kalanında bir yere referansladığınızı, ancak yanlış yazdığınızı düşündürdü.

Bu durumda, mum.exe kesinlikle doğrudur - IMAGE_FOLDER'ı bulabilir, ancak MAGE_FOLDER'ı bulamıyor.

Bu durum böyleyse, bunu hızlı bir şekilde düzeltirsiniz. ;-)

+0

Teşekkürler, ancak hata mesajında ​​gerçekten IMAGE_FOLDER idi. Tyop söz konusuydu. – leiflundgren

1

Tamam, başka bir deneyin. <Product/> numaralı telefondan <Fragment/> numaralı telefondan herhangi bir şeye referans veriyor musunuz? Fragman içeriği, ondan herhangi bir şeye referans vermeniz durumunda, kodun geri kalanı tarafından görülebilir. Örneğin, bir bileşene (<ComponentRef/>) veya bileşen grubuna (<ComponentGroupRef/>) başvurabilirsiniz. Bir şey referans alındığında, tüm parça dahil edilir.

Bu yardımcı olur umarım.

+0

Neden evet. Ürünümdeki ana özelliğimde c.Images bileşenim için bir ComponentRef var. Ancak, bu kadar uzağa geldiğimizi sanmıyorum. Hata mesajı, bağlayıcıdan değil, WiX-derleyici mumundan gelir. Yani WiX, işlemci öncesi hata olduğuna inanıyor. – leiflundgren

+0

Evet, doğru ... Fikirlerim tükendi ... Kullanmıyorsanız WiX 3.0 RTM'ye yükseltmeyi denediniz mi? –