Sıkıştırılmamış bir dosya içeren bir kurulum paketim var.WiX yanmasına nasıl değiştirilebilir bir dosya eklenir?
<DirectoryRef Id="INSTALLLOCATION">
<Component Id="LocationConfig">
<File Id="LocationConfigFile"
Source="LooseFile.Config"
DiskId="2"
Vital="no"
Compressed="no" />
</Component>
</DirectoryRef>
Bu dosyanın amacı gevşek olduğundan, yükleme işleminden önce düzenlenebilir. Bu istenen şekilde çalışır.
Gevşek dosyanın önyükleyicinin yanında gevşek bir dosya olarak yer aldığını belirten bir yanma zincirim var. Ayrıca, dosyanın gevşek bir yük olarak manuel belirtilmesine izin vermek için SuppressLooseFilePayloadGeneration
'un kullanılmasına dikkat edin.
<Chain>
<MsiPackage SourceFile="MyInstaller.msi"
Visible="yes"
Vital="no"
SuppressLooseFilePayloadGeneration="yes">
<Payload Compressed="no" SourceFile="LooseFile.Config" />
</MsiPackage>
</Chain>
yanık günlüğü şuna benzer: Dosya değiştiği için
[3860:38D8][2013-04-26T16:42:48]e000: Error 0x80091007: Hash mismatch for path: C:\ProgramData\Package Cache\.unverified\payAC32431CF002C09E2F0B537A32ACA259
[3860:38D8][2013-04-26T16:42:48]e000: Error 0x80091007: Failed to verify hash of payload: payAC32431CF002C09E2F0B537A32ACA259
[3860:38D8][2013-04-26T16:42:48]e310: Failed to verify payload: payAC32431CF002C09E2F0B537A32ACA259 at path: C:\ProgramData\Package Cache\.unverified\payAC32431CF002C09E2F0B537A32ACA259, error: 0x80091007. Deleting file.
[3860:38D8][2013-04-26T16:42:48]e000: Error 0x80091007: Failed to cache payload: payAC32431CF002C09E2F0B537A32ACA259
[33FC:3A54][2013-04-26T16:42:48]e314: Failed to cache payload: payAC32431CF002C09E2F0B537A32ACA259 from working path: C:\Users\Snixtor\AppData\Local\Temp\{c887e0cf-5038-4e15-95b1-8510d8c96b88}\payAC32431CF002C09E2F0B537A32ACA259, error: 0x80091007.
Tamam, karma başarısız oluyor. Ama ... Kullanıcının dosyayı değiştirmesine izin vermek istiyorum. Bunu standart bir kurulum paketi ile yeterince yapabilirim, bu yüzden bir bootstrapper ile davranmasını sağlamak için hangi halkaları atlamalıyım?
WiX kullanıcıları posta listesinde this discussion buldum. "Sadece işe yaramalı" diye cevaplar umut verici geliyor, ama sonra tartışma bir hata olabileceğini öne sürüyor gibi görünüyor? Yazar hiç bir hata raporu çıkardıysa, onu bulamıyorum.
Göz önünde bulundurduğum bir alternatif, dosyayı tümüyle önyükleme yükünden hariç tutmak ve daha sonra MSI'yi bulabilmesi için MSI önbellek yoluna el ile kopyalamaktı, ancak yanık asla doğrulamaya çalışmadı. Ama gördüğüm iki sorun:
- Önyükleyici yolumdan önbellek yolunu nasıl bulacağımı bulamıyorum.
- Yolu biliyor olsam bile, dosyayı kopyalamak için önyükleyiciyi kaldırmam gerekir. Bu bir showtopper olmayabilir, ama bir sinsi şüphesi var ki zor olabilir.
Teşekkürler Rob, karanlıkta çekim yapmak yerine durumun * gerçeklerini bilmek harika. Değişkenler ile çalışmayı düşünüyorum, alternatif olabilir. Ben ona bakacağım. Neyse ki üzerinde çalıştığım config dosyası oldukça basit. – Snixtor
Aynı sorunu yaşıyorum ve cevabı anladığımdan emin değilim. Bunun için bir örnek var mı? Temel olarak hem önyükleyiciye (önkoşullar için) hem de kurulumdan önce ikame edilebilen .msi + gevşek dosyalara ihtiyacım var. MSI'yi gevşek dosyalar ile kendi başınıza kurmak, (ön koşullara sahip olduğunuz sürece) mükemmel şekilde çalışır. – lesscode