7

WiX3 を使用して MSI インストール パッケージを生成します。<Package>要素と<Media>要素の両方で圧縮フラグを指定しました。

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

しかし、結果の MSI はまったく圧縮されません。WinZip はそれを 2M から 600K に圧縮しました。

何か不足していますか?

私はVS2008を使用しています。

4

3 に答える 3

4

MSI ファイルは OLE 構造化ストレージ ファイルではありません。これらは圧縮できず、Windows インストーラーで読み取ることができます。ただし、多くのものが MSI ファイルに保存されるため (UI グラフィック、CustomAction DLL、ショートカット アイコンなど)、MSI に入れるコンテンツを意識する必要があります。

WiX ツールセットには、MSI に入れて圧縮しているそれぞれのものを分析するものは何もありません (もちろん、Windows インストーラーによって圧縮されることが期待されているため、cab ファイルを除きます)。

正直なところ、Windows インストーラーは現在の最高の圧縮をネイティブにサポートしていません。行うべきことの 1 つは、パッケージをビルドし、ブートストラップを使用して、圧縮されたコンテンツを配布し、Windows インストーラーに渡す前に圧縮を解除することです。これが WiX v3.5 の書き込みブートストラップの計画です。

于 2008-12-25T20:05:45.830 に答える
2

あなたの質問には何かが欠けています。しかし、それが圧縮されていないことをどのように知っていますか。Winzip でさらに圧縮できる場合でも、必ずしも圧縮されていないというわけではありません。7-zipを使用して、結果の msi ファイルを調査できます。中にキャブがあるはずですので、それを取り出して、解凍前後の大きさを見てください。

于 2008-12-24T10:51:05.793 に答える
1

巨大なビットマップに関しては、Photoshop で編集して縮小することをお勧めします。2 つの 600K ビットマップをそれぞれ ~35k に減らすことができました。それらをインデックス付きのカラー パレットに変更し ([イメージ] > [モード] > [インデックス付き])、結果のファイルを 8 ビット圧縮 BMP として保存しました。

試してみます ;)

于 2008-12-29T06:20:56.333 に答える