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 というストリーム名で追加します。
) |