2009-07-30 20 views
8

WIX'e oldukça yeni geldim, bu yüzden burada tekne eksikliğini kaybedersem beni affet, ama bileşenleri yeniden kullanmanın mümkün olup olmadığını merak ettim (mwm, taksi vb.) bir wxs dosyasından, ışık her seferinde onları yeniden bağlamadan. Üzerinde çalıştığım yükleyici, her yükleme arasında değişme eğiliminde olan çeşitli yürütülebilir dosyalar, dll'ler ve yapılandırma dosyaları içeriyor. Bu dosyalar yaklaşık 5 megavat yükleyicidir. Yeniden kullanmak istediğim bölüm ~ 350 mega değerinde görüntü/harita/veritabanı dosyaları çok sık değişmiyor ki, her zaman kurulumcunun inşa edilmesi/derlenmesi gerekmek istemiyorum.Mum/ışığı hızlandırmak için WIX bileşenlerini yeniden kullanma

Haritalar için bir mwm dosyası oluşturmayı denedim, ancak onlara wx'ler içinde başvurduğumda, ışık aracılığıyla ana .msi dosyasına bağlanırlar. Ben haritalar tutmak için bir sigara gömülü CAB dosyası specifing denedim:

<Media Id="1" Cabinet="media1.cab" EmbedCab="yes" /> 
<Media Id="2" Cabinet="NewRiver.cab" EmbedCab="no" CompressionLevel="none" /> 
... 
<Merge Id="NewRiverDigMap" SourceFile="..\Output\NewRiverDigitalMaps.msm" Language="1033" DiskId="2" /> 

Ancak her zaman ışık ishal, tek başına CAB dosyası yeniden alır - bir süre alır ki.

Sadece msi ile birlikte teslim etmek için bir ZIP dosyası oluşturmayı düşündüm ve yükleyicinin sadece zip özünden başlatmasını sağladım, ama bu bana anti-wix gibi görünüyor. Artık ihtiyaç duyulmadığında dosyaların kaldırılmasını istiyorum.

Eksik olduğum işlemler gibi başka bir wix var mı? Parçalar hakkında okudum ama bu aradığım şey değil.

sayesinde David

cevap

12

Sezginiz kesinlikle doğru yönde önde. Aradığınız özellik "cab-cache" olarak adlandırılır. Eğer light.exe komut satırına aşağıdaki ekleyerek kullanabilirsiniz:

-reusecab -cc path\to\directory\for\cabinets 

Not: Derleme (candle.exe) ve bağlama (light.exe ilk yarısı) çok çabuk olmalı. Genelde yavaş olan bağlantıdır (ikincisi light.exe'dir) çünkü aslında tüm dosyalara dokunur ve dolapları oluşturur. Kabin binası en yavaş kısımdır, bu yüzden umarım kabin önbellekleri sizin için yeterince hızlandırır.

Not: Eğer derleme çok zaman alıyorsa, ".wixlib" ile light.exe dosyasını oluşturabilirsiniz. Burada daha çok şey var. Burada: http://robmensching.com/blog/posts/2008/10/10/What-are-.wixlibs-and-why-would-you-use-them

+0

Eureka! Tam da aradığım şey. Dolaplar gömülü değilse işe yaramaz - bir şekilde ışık .cab dosyası siler sonra arar. İdeal olarak, gömülü olmayan dolaplarla çalışmak isterdim, ama kesinlikle eskisinden biraz daha hızlı. –

+0

Hmm, bu davranış bir hata gibi geliyor. Bir hatayı (http://wix.sourceforge.net) ayrıntılarla açmayı düşünür müsün? WiX v3.5'te tamir edebilmeliyiz. –

+0

Mükemmel ipucu için teşekkürler ([docs] (http://wixtoolset.org/documentation/manual/v3/howtos/general/optimizing_builds.html))! Benim durumumda, msi paketini yaklaşık 50s'den sadece 10s'a (~ 200 dosya/~ 100MB) oluşturma süresini azalttı. – CodeFox

İlgili konular