3

キャビネット内のファイルを置き換えることにより、CABWIZ で生成された (署名されていない) CAB ファイルの 1 つを操作したいと考えています。現在、私はMicrosoft.Deployment.Compression.Cab.dllこのタスク (すべてのファイルを抽出し、ターゲットを置き換え、キャビネットを再作成する) に使用しています。これは、圧縮を有効にしない限り、かなりうまく機能します。

cabInfo.Pack(workingFolder.FullName, true, CompressionLevel.None, null);

圧縮を有効にするとすぐに、WM 6.5.3 は CAB ファイルをインストールしなくなります。

CABFILEのインストールに失敗しました。

CABWIZ で生成された元のファイルは圧縮されているため、WM の WCELOAD は圧縮ファイルを処理できることがわかっています。Microsoft ライブラリの構成オプションを検索しましたが、見つかりませんでした。

Microsoft ライブラリを使用して圧縮 CAB を作成する方法はありますか、またはこのタスクに使用できる他のライブラリはありますか? CAB ファイルを操作するためのライブラリはたくさんありますが、WCELOAD と互換性のある圧縮された CAB ファイルを作成できるライブラリに関する情報は見つかりませんでした。

更新:調査の結果、WCELOAD は MSZIP アルゴリズムをサポートしているのに対し、Microsoft ライブラリは LZX を使用していることがわかりました。そこで、MSZIP アルゴリズムを使用して圧縮 CAB ファイルを作成できるライブラリを探しています。

4

1 に答える 1