【MSX2CAB】(通常版&拡張版)
Windows インストーラというMicrosoft純正のインストール方式があります。このインストール方式において中心的な役割を果たすファイルが、拡張子.msiのファイルです。
またプログラムのアップデートなどで、既にWindows インストーラでインストールされているプログラムを修正する、パッチファイルのような役目を果たすファイルがあります。拡張子.mspのファイルです。
拡張子.msmのファイルもあります。これはマージモジュールというもので、複数のプログラムで共有して使うランタイムなどをインストールする用途などで用いられます。
これらのファイルの中にはインストールの際の色々な情報が保存されています。また、インストールの際に展開するファイルを、cab形式の圧縮ファイルとして包含している場合もあります。この圧縮ファイルは複数個の場合もあるし、自分自身には1個も含まない場合もあります。
これらのファイルはインストーラですから、普通はそのまま実行してインストールするわけですが、インストールすることなく中身のファイルだけを取り出したい場合があります。このような時、これらのファイルはなかなか厄介です。多くのアーカイバでは展開できないし、インストールを途中まで進めておいて、Tempフォルダから必要なファイルをコピーしてからインストールを中断するという裏技も、ほとんどの場合通用しません。
MSIファイルに関しては拙作【MSI2FILE】において、中身のCabinetファイルを取り出し、さらにそれをインストール後のファイル名にリネームしつつ展開するという独自機能を持たせました。しかし【MSI2FILE】ではMSP/MSMファイルは展開できませんでした。
MSP/MSMファイルを展開できるソフトとしては、Windows インストーラ開発者であるHeath Stewart氏が自身のブログで発表した【msix.exe】が知られています。
参考リンク
@IT .MSIファイルを解凍して中のファイルを取り出す(msix編)
Heath Stewart氏のブログの該当ページ
しかしこのソフトはいわゆるCUIプログラムで、コマンドを打ち込みつつ使わねばなりません。そのうえ展開先のフォルダを既存のフォルダからしか選べません。そのため、あらかじめ自分で先に展開用新規フォルダを作っておかないとファイルの回収がやりにくくなるなど、ユーザーに優しくない面もあります。
そこで、『msix.exeと同等の機能を持つGUIソフト』という目的を持って作ったのが、この【MSX2CAB】です。MSXのXはI/P/Mの総称的な意味合いを、2は英語のto(〜へ)の意味です。またMSX2CABというソフト名ではあるものの、【msix.exe】と同様にアイコンやビットマップ、ルートストレージから作成したMSTファイルなども抽出が可能で、cabしか取り出せないわけではありません。【msix.exe】と全く同じものを抽出できるはずです。ただし【MSI2FILE】のように抽出したCabファイルを更に展開する機能はありません。この点でも【msix.exe】と全く同じです。
その他【msix.exe】にはない独自の機能としては、抽出対象ファイルの中に、Cabinetファイルのリネーム情報が含まれていた場合には、HTMLファイル形式のファイル名対照表を作成する機能があげられます。MSIファイルなどから抽出したCabinetファイルを展開すると訳の分からないファイル名になっていることが多いので、この対照表は本来のファイル名を調べるのに役立つと思います。
フリーソフト
・Windows Me/2000/XP/Vista (通常版の場合)
・Windows XP/Vista (拡張版の場合)
おそらくWindows7でも動きます。(RC版で確認)
Windows98でもWindowsインストーラが導入されていれば、一部制限はありますが通常版は動きます。
Windowsインストーラが導入済みであること。
(Windows98の初期状態ではWindowsインストーラは未導入ですが、Windows Updateなどで、ほとんどのPCでインストールされていると思います。確認方法は、【スタート】→【ファイル名を指定して実行...】でmsiexecと打って実行してみてください。バージョン名やコマンドラインオプションの表示、あるいは「不正なコマンド・・・」などと表示されればWindowsインストーラはインストールされています。「'msiexec'が見つかりません。・・・・」などと表示された場合はインストールされていません。)
このソフトを使ったことにより、いかなる損害が生じたとしても作者は責任を負うことができません。ご使用については自己責任の元でお願いします。
【MSI2FILE】はMSIファイル専用で、抽出するファイルもCabinetファイルのみをターゲットにしています。しかし、そのCabinetファイルを展開し、本来のファイル名にリネームしてくれます。通常の場合この機能だけで十分なはずで、ファーストチョイスは【MSI2FILE】だと思います。MSP/MSMファイルを展開したい場合や、Cabinetファイル以外のファイルも取り出したい場合に、この【MSX2CAB】をお使い下さい。