Session オブジェクト (Windows インストーラー)
Session オブジェクトはインストール プロセスを制御します。 インストール テーブルとデータを含むインストーラー データベースが開きます。 このオブジェクトは、1 つ以上のテーブルのデータに対して特定の操作を実行するアクション関数の標準セットに関連付けられています。 追加のカスタム アクションを特定の製品のインストールに対して追加できます。 基本エンジン関数はシーケンサーで、シーケンシャル レコードを指定されたシーケンス テーブルからフェッチして指定された条件式を評価し、指定されたアクションを実行します。 エンジンによって認識されないアクションは、処理のために UI ハンドラー オブジェクトに遅延されます (通常はダイアログ ボックス シーケンス)。
1 つのプロセスで開ける Session オブジェクトは 1 つだけであることにご注意ください。
メンバー
Session オブジェクトには次の種類のメンバーがあります。
メソッド
Session オブジェクトには次のメソッドがあります。
方法 | 説明 |
---|---|
DoAction | 指定したアクションを実行します。 |
EvaluateCondition | シンボルと値を含む論理式を評価し、列挙 msiEvaluateConditionErrorEnum の整数を返します。 |
FeatureInfo | 指定した機能の説明情報を含む FeatureInfo オブジェクトを返します。 |
FormatRecord | 書式設定された文字列をテンプレートとレコード データから返します。 |
Message | 有効なログ記録操作を実行し、エンジンに関連付けられている UI ハンドラー オブジェクトへの実行を遅延します。 |
Sequence | クエリを指定したテーブルで開き、アクションを Sequence 列の数値で並べ替えます。 フェッチされる各行について、指定された条件式が False に評価されない場合は DoAction メソッドが呼び出されます。 |
SetInstallLevel | 現在のインストールのインストール レベルを指定した値に設定し、すべての機能の [選択] と [インストール済み] の状態を再計算します。 |
プロパティ
Session オブジェクトには次のプロパティがあります。
プロパティ | アクセスの種類 | 説明 |
---|---|---|
ComponentCosts |
コンポーネントのインストールに必要なドライブあたりのディスク領域を列挙する RecordList オブジェクトを返します。 |
|
ComponentCurrentState |
指定されたコンポーネントの現在のインストール状態を返します。 |
|
ComponentRequestState |
Component テーブルにある行の Action 状態の変更を取得または要求します。 |
|
データベース |
現在のインストール セッションのデータベースを返します。 |
|
FeatureCost |
指定した機能とその親機能 (最大で Feature テーブルのルート) に必要なディスク領域の合計量 (512 バイト単位) を返します。 |
|
FeatureCurrentState |
指定された機能に関する現在のインストール状態を返します。 |
|
FeatureRequestState |
読み取り/書き込み |
機能のレコードとサブレコードの選択状態に関する変更を取得または要求します。 |
FeatureValidStates |
ビット フラグを表す整数を、指定した機能の有効なインストール状態を表す関連ビットごとに返します。 |
|
Installer |
アクティブなインストーラー オブジェクトを返します。 |
|
Language (Session オブジェクト) |
現在のインストール セッションで使用される数値言語識別子を表します。 |
|
モード |
このプロパティは、現在のインストール セッションで指定されたモード フラグを表す値です。 |
|
ProductProperty |
名前付きインストーラー プロパティの文字列値を表します。 |
|
Property (Session オブジェクト) |
読み取り/書き込み |
製品プロパティを製品データベースから取得します。 |
SourcePath |
ソース メディアまたはサーバー イメージ上の指定されたフォルダーに対する完全なパスを提供します。 |
|
TargetPath |
読み取り/書き込み |
インストールのターゲット ドライブ上の指定されたフォルダーに対する完全なパスを提供します。 |
VerifyDiskSpace |
十分なディスク領域が存在する場合は true、しない場合は false を返します。 |
必要条件
要件 | 値 |
---|---|
バージョン |
Windows Server 2012、Windows 8、Windows Server 2008 R2、または Windows 7 の Windows インストーラー 5.0。 Windows Server 2008 または Windows Vista の Windows インストーラー 4.0 または Windows インストーラー 4.5。 Windows Server 2003 または Windows XP の Windows インストーラー |
[DLL] |
|
IID |
IID_ISession が 000C109E-0000-0000-C000-000000000046 として定義されている |
こちらもご覧ください