Linuxを使用したmsiファイルの抽出


23

関連:MSIパッケージからファイルを抽出する方法は?

Linuxを使用してMSIインストーラーの内容を抽出するには、msiexecwineで使用するか、を使用します7zip

ただし、後者はディレクトリとファイル名の一部のみを保持しません。使用せずにMSIファイルを適切に抽出する方法はありますwineか?


編集: MicrosoftのInfer.NETの問題を説明するためには、ここで 7zipをが生成するファイルのリストとされ、ここで(後者は、私が欲しいものである場合)のmsiexecが生成する1


この記事がUbuntuに役立つことを願っています。また、Jsmsix.exeも試してください
avirk

おかげで、私はすでに記事を読みましたが、7zipの問題は解決しません(たとえば、cabextractと組み合わせても)。wineWindowsの実行可能ファイルをネイティブに実行できないため、jsmsixには引き続き必要です。
マイケルシューベルト

どのような問題に直面してい7zipますか?
avirk


2
私がやりたいのは、Archlinux用のビルドスクリプトを作成することです。これには、monoのみに依存するものをインストールできるようにするために、セットアップワインが非常に大きな依存関係になります。
マイケルシューベルト

回答:


9

すぐに役立つわけではありませんが、lessmsiはネイティブLinuxバージョンで動作しています。それはあなたが望むようにディレクトリ構造を保持するので、これがあなたにとって長期的な問題になるかどうかを確認する価値があります。残念ながら、Linuxでの.msiのサポートはかなりまばらであるため、(前述したように)wineがアーカイブを抽出するための非常に重い依存関係であっても、wineを介したlessmsiまたはmsiexecが唯一の即時オプションである可能性があります。


確かに、これはワインを使用してLinuxのlessmsiを待つ最適なソリューションのようです。
マイケルシューベルト

4
参考:lessmsiの最新リリースでは、cab抽出コードをlibmspackに移動することができました。libmspackはLinuxでも実行できるポータブルライブラリです。そのため、最近Linuxサポートに向けて具体的な一歩を踏み出しました。すぐに、すべてを移植可能にする移植可能なmsi libを使用したいと考えています。
スコットウィレケ

-1。Linuxバージョンはまだ何年も経って存在していません。また、ワインを使用せずにMSIファイルを適切に抽出する方法があるので、これは答えではありません。user2834 sudo apt install msitoolsの回答で推奨されているように、代わりにmsitoolsパッケージからのmsiextract(Ubuntuで)を使用しました。
リサンロライエン

19

msiextractを試してみてください、https: //live.gnome.org/msitools

そして未解決のバグ!


14.04用のパッケージは見つかりませんでした。また、ビルドには多くのツール/ライブラリとスキルが必要です。あきらめる
ハリー

1
debianにあり、ubuntu willy:launchpad.net/ubuntu/+source/msitoolsです。その後、「msiextract file.msi」を呼び出すだけで、それ以上のスキルは不要です。
user2834

ここで機能し、ファイル名とパスを保持します。ありがとう。
サイモンA.エグスター

1

cabextractと呼ばれるソフトウェアを試すことができます-少なくともUbuntuにはそのためのパッケージがありますが、他の一般的なディストリビューションからも見つかると期待しています。


4
ヒントをお寄せいただきありがとうございますが、cabextractはファイル名とディレクトリを部分的にも保存しません(したがって、7zipよりもパフォーマンスが低下します)。
マイケルシューベルト

MSI形式は複数のレイヤーです。最上位はディスクイメージで、データブロックは.msiファイル内に散らばっています。ディスクイメージをデコードすると、.cabファイルやデータベースファイルなど、いくつかのファイルが含まれます。cabextractは.msiイメージ内でCABファイルヘッダーを検出しますが、完全な.cabファイルは連続していないため、抽出できません。7zipはディスクイメージ抽出してからCABファイルを抽出できますが、lessmsiのようにCABファイルエントリを実際のインストールパスにマップするデータベースファイルの読み取り方法を知りません。
スチュアートケイ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.