2008-12-24 11 views
7

MSI yükleme paketi oluşturmak için WiX3 kullanıyorum. ben hem <Package> ve <Media> elemanlarının üzerine comression bayrağını belirttiniz:WiX oluşturulan MSI sıkıştırılmış değil

<Package InstallerVersion="200" Compressed="yes"/> 
<Media Id="1" Cabinet="MySetup.cab" EmbedCab="yes" CompressionLevel="high" /> 

ancak ortaya çıkan MSI hiç sıkıştırılmış değil - WinZip 600K aşağı 2M onu sıkıştırılmış.

Bir şey mi eksik?

VS2008 btw'yi kullanıyorum.

+0

aynı sorunu var. Onları "kod" olarak işaretlemenin onları metinde göstermesi gerektiğini düşünüyorum. – vividos

cevap

2

Sorunuzda eksik bir şey var. Ama nasıl sıkıştırıldığını bilmiyorsun. Winzip daha da sıkıştırabilirse, her zaman sıkıştırılmadığı anlamına gelmez. Oluşan msi dosyasını incelemek için 7-zip'u kullanabilirsiniz. İçinde kabini olmalı, çıkarmalı ve açmadan önce ve sonra boyuta bakılmalıdır.

4

MSI dosyaları OLE Yapısal Depolama dosyaları değildir. Sıkıştırılamazlar ve Windows Installer'ın hala onları okuyabilmesini sağlayın. Ancak, MSI dosyasına koyduğunuz içeriğin bilincinde olmanız için MSI dosyasında (UI grafikleriniz ve CustomAction DLL'leriniz ve Kısayol Simgeler gibi) birçok şey saklanır.

WiX araç setinde, MSI'ye koyduğunuz her şeyi analiz etmek ve bunları sıkıştırmak için hiçbir şey yoktur (Windows Installer tarafından beklendiği için bu yana, cab dosyası hariç).

Dürüst olmak gerekirse, Windows Installer, bugünün en iyi sıkıştırmasını doğal olarak desteklemez. Yapılacak bir şey, paketi oluşturmak ve bir bootstrapper kullanmak, sıkıştırılmış içeriği dağıtır ve Windows Installer'a aktarmadan önce sıkıştırır. WiX v3.5'in yanık önyükleyicisinin planı budur.

1

Büyük bitmap'lerle ilgili olarak, onları küçültmek için bunları photoshop'ta düzenlemenizi öneririm. İndekslenmiş bir renk paletine (Resim> Mod> İndekslenmiş) değiştirerek ve ardından oluşan dosyayı 8 bit sıkıştırılmış BMP olarak kaydettikten sonra her biri ~ 35k değerine iki 600K bitmap almayı başardım.

Give it a shot;