ファイル キャビネットを生成する
VBScript ファイル WiMakCab.vbs は、「Windows インストーラー開発者向けの Windows SDK コンポーネント」で提供されています。 このサンプルでは、スクリプトを使用して Windows インストーラー データベースからファイル キャビネットを生成する方法を示します。
このサンプルは次の方法を示します。
- Installer オブジェクトの OpenDatabase メソッド (インストーラー オブジェクト) と LastErrorRecord メソッド
- Database オブジェクトの Commit メソッド、OpenView メソッド、SummaryInformation プロパティ (Database オブジェクト)
- View オブジェクトの Fetch メソッド、Execute メソッド、Modify メソッド
- Record オブジェクトの StringData プロパティと IntegerData プロパティ
- Session オブジェクトの DoAction メソッド、Property プロパティ (Session オブジェクト)、Mode プロパティ
このサンプルを使用するには、Windows スクリプト ホストの CScript.exe または WScript.exe バージョンが必要です。 CScript.exe を使用してこのサンプルを実行するには、次の構文を使用してコマンド プロンプトでコマンドを入力します。 最初の引数が /? の場合、または、指定された引数が少なすぎる場合は ヘルプが表示されます。 出力をファイルにリダイレクトするには、コマンド ラインの末尾に VBS > [<ファイルのパス>] を付けます。 このサンプルでは、成功した場合は 0、ヘルプが呼び出された場合は 1、スクリプトが失敗した場合は 2 の値が返されます。
cscript WiMakCab.vbs [データベースへのパス][ベース名][オプションのソースの場所]
キャビネットを生成するには、Makecab.exeが PATH 上にある必要があります。 Makecab.exe ユーティリティは、Windows インストーラー開発者向け Windows SDK コンポーネントに含まれています。 このサンプルでは、複数のキャビネットを処理するように Media テーブル が更新されないことに注意してください。 埋め込みキャビネットを置き換えるには、/R /C /U /E オプションを含めます。
インストーラー データベースへのパスを指定します。 これは、ソース ツリーのルートに配置する必要があります。 生成されるキャビネット ファイルの大文字と小文字を区別するベース名を指定します。 ソースの種類が圧縮されている場合、すべてのファイルがルートで開かれます。 次のオプションは、コマンド ライン上の任意のポイントで指定できます。
オプション | 説明 |
---|---|
オプションを何も指定しない | |
/C | 圧縮を実行します。 /C が指定されていない場合、WiMakCab.vbs では DDF ファイルのみが生成されます。 |
/L | MSZIP の代わりに LZX 圧縮を使用する |
/F | CD-ROM ではなく、キャビネット サイズを 1.44 MB のフロッピー サイズに制限する |
/U | 生成されたキャビネットを参照するようにデータベースを更新する |
/E | ストリームとしてインストーラー パッケージにキャビネット ファイルを埋め込む |
/S | ディレクトリ順に並べ替えられた File テーブルでシーケンス番号を使用する |
/R | /E が指定されている場合は、キャビネットを使用しないインストールに戻し、キャビネットを削除します (/R オプションを使用すると、圧縮ビットが削除されます - SummaryInfo プロパティ 15 & 2) |
その他のスクリプト作成の例については、「Windows インストーラーのスクリプト作成の例」を参照してください。 Windows スクリプト ホストを必要としないサンプル ユーティリティについては、「Windows インストーラーの開発ツール」を参照してください。