Windowsプラットフォームで利用できます。
バージョン 2.5 で 新たに追加 された仕様です。
msilib モジュールは Microdoft インストーラー(.msi)の
作成を支援します。このファイルはしばしば埋め込まれた「キャビネット」ファイル
(.cab) を含むので、CAB ファイル作成用の API も暴露します。現在の
ところ .cab ファイルの読み出しはサポートしていませんが、.msi
データベースの読み出しサポートは可能です。
このパッケージの目的は .msi ファイルにある全てのテーブルへの完全な
アクセスの提供なので、提供されているものは正直に言って低レベルな API です。
このパッケージの二つの主要な応用は distutils の bdist_msi
コマンドと、Python インストーラーパッケージそれ自体(と言いつつ現在は別バージョン
の msilib を使っているのですが)です。
パッケージの内容は大きく四つのパートに分けられます。 低レベル CAB ルーチン、低レベル MSI ルーチン、少し高レベルの MSI ルーチン、 標準的なテーブル構造、の四つです。
| cabname, files) |
ファイルはリストに現れた順番で CAB ファイルに追加されます。全てのファイルは MSZIP 圧縮アルゴリズムを使って一つの CAB ファイルに追加されます。
MSI 作成の様々なステップに対する Python コールバックは現在暴露されていません。
| ) |
| path, persist) |
MSIDBOPEN_CREATEDIRECT, MSIDBOPEN_CREATE,
MSIDBOPEN_DIRECT, MSIDBOPEN_READONLY,
MSIDBOPEN_TRANSACT のどれか一つで、
フラグ MSIDBOPEN_PATCHFILE を含めても構いません。
これらのフラグの意味は Microsoft のドキュメントを参照してください。
フラグに依って既存のデータベースを開いたり新しいのを作ったりします。
| count) |
| name, schema, ProductName, ProductCode, ProductVersion, Manufacturer) |
schema は tables と _Validation_records という属性を
もったモジュールオブジェクトでなければなりません。典型的には、msilib.schema
を使うべきです。
データベースはこの関数から返された時点でスキーマとバリデーションレコードだけが 収められています。
| database, records) |
None を渡すことができます。
フィールドの値には、整数・長整数・文字列・Binary クラスのインスタンスが使えます。
| filename) |
| database, module) |
この関数は典型的にシーケンステーブルをインストールするのに使われます。
| database, name, path) |
_Stream テーブルに、ファイル path を
name というストリーム名で追加します。
| ) |