データベース関数

この資料は、独自のセットアップ プログラムを作成している開発者と、インストーラー データベース テーブルについてさらに詳しく学習したいと考えている開発者を対象としています。 インストーラーの一般的な情報については、「Windows インストーラーについて」を参照してください。

インストーラー アクセス関数を使用して、データベースとインストール プロセスにアクセスできます。 これらの関数は、カスタム インストール アクションと作成ツールでのみ使用する必要があります。 一部のインストーラー アクセス関数では、データベースのクエリを実行するのに SQL クエリ文字列が必要です。 クエリはインストーラーの SQL 構文に従う必要があります。

このトピックでは、インストーラー のデータベース アクセス関数をカテゴリ別に示します。

一般的なデータベース アクセス関数

機能 説明
MsiDatabaseCommit データベースへの変更をコミットします。
MsiDatabaseGetPrimaryKeys すべての主キー列の名前が返されます。
MsiDatabaseIsTablePersistent テーブルの状態を説明する列挙体が返されます。
MsiDatabaseOpenView データベース クエリを準備し、ビュー オブジェクトが作成されます。
MsiGetActiveDatabase インストールのアクティブなデータベースが返されます。
MsiViewGetColumnInfo 列名または定義が返されます。
MsiOpenDatabase データ アクセス用のデータベース ファイルが開きます。
MsiViewClose 実行されたビューの結果セットが解放されます。
MsiViewExecute ビュー クエリが実行され、必要なパラメーターが指定されます。
MsiViewFetch ビューから次のシーケンシャル レコードがフェッチされます。
MsiViewGetError MsiViewModify 関数で発生したエラーが返されます。
MsiViewModify フェッチされたレコードが更新されます。

 

データベース管理関数

機能 説明
MsiCreateTransformSummaryInfo 既存の変換の概要情報が作成されます。
MsiDatabaseApplyTransform データベースに変換が適用されます。
MsiDatabaseExport 開いているデータベースからテキスト アーカイブ ファイルにテーブルがエクスポートされます。
MsiDatabaseGenerateTransform 2 つのデータベース間の相違点の変換ファイルが生成されます。
MsiDatabaseImport インストーラー テキスト アーカイブ テーブルが開いているデータベースにインポートされます。
MsiDatabaseMerge 2 つのデータベースが結合されます。
MsiGetDatabaseState データベースの状態が返されます。

 

レコード処理関数

機能 説明
MsiCreateRecord 指定した数のフィールドを持つ新しいレコード オブジェクトが作成されます。
MsiFormatRecord 書式指定文字列を使用して、レコード フィールドのデータとプロパティの書式が設定されます。
MsiRecordClearData レコード内のすべてのフィールドが null に設定されます。
MsiRecordDataSize レコード フィールドの長さが返されます。
MsiRecordGetFieldCount レコード内のフィールドの数が返されます。
MsiRecordGetInteger レコード フィールドから整数値が返されます。
MsiRecordGetString レコード フィールドの文字列値が返されます。
MsiRecordIsNull レコード フィールドが null かどうかが報告されます。
MsiRecordReadStream レコード ストリーム フィールドからバッファーにバイトが読み取られます。
MsiRecordSetInteger レコード フィールドが整数フィールドに設定されます。
MsiRecordSetStream ファイルからレコード ストリーム フィールドが設定されます。
MsiRecordSetString 指定されたフィールドに文字列がコピーされます。

 

概要情報プロパティ関数

機能 説明
MsiGetSummaryInformation インストーラー データベースの概要情報ストリームへのハンドルが取得されます。
MsiSummaryInfoGetProperty 概要情報から 1 つのプロパティが取得されます。
MsiSummaryInfoGetPropertyCount 概要情報ストリーム内のプロパティの数が返されます。
MsiSummaryInfoPersist 変更された概要情報が概要情報ストリームに書き戻されます。
MsiSummaryInfoSetProperty 1 つの概要情報プロパティが設定されます。

 

インストーラーの状態アクセス関数

機能 説明
MsiGetLanguage 現在のインストールの数値言語が返されます。
MsiGetLastErrorRecord 呼び出し元プロセスで最後に返されたエラー レコードが返されます。
MsiGetMode ブール値の内部インストール状態のいずれかが返されます。
MsiGetProperty インストーラー プロパティの値が取得されます。
MsiSetProperty インストール プロパティの値が設定されます。
MsiSetMode 内部エンジンのブール値の状態が設定されます。

 

インストーラーのアクション関数

機能 説明
MsiDoAction 組み込みアクション、カスタム アクション、またはユーザー インターフェイス ウィザード アクションが実行されます。
MsiEvaluateCondition プロパティの名前と値を含む条件式が評価されます。
MsiProcessMessage インストーラーにエラー レコードが送信されて処理されます。
MsiSequence アクション シーケンスが実行されます。

 

インストーラーの場所関数

機能 説明
MsiGetSourcePath ディレクトリ テーブル内のフォルダーの完全なソース パスが返されます。
MsiGetTargetPath ディレクトリ テーブル内のフォルダーの完全なターゲット パスが返されます。
MsiSetTargetPath ディレクトリ テーブル内のフォルダーの完全なターゲット パスが設定されます。

 

インストーラーの選択関数

機能 説明
MsiEnumComponentCosts コンポーネントのインストールに必要なドライブごとのディスク領域が列挙されます。
MsiGetComponentState コンポーネントの状態が取得されます。
MsiGetFeatureCost 機能に必要なディスク領域が返されます。
MsiGetFeatureState セッションの状態が取得されます。
MsiGetFeatureValidStates 有効なインストール状態が返されます。
MsiSetComponentState 指定した状態にコンポーネントが設定されます。
MsiSetFeatureAttributes 実行時に機能の既定の属性が変更されます。
MsiSetFeatureState 指定した状態に機能が設定されます。
MsiSetInstallLevel 製品の完全インストールのインストール レベルが設定されます。
MsiVerifyDiskSpace 十分なディスク領域について確認されます。

 

ユーザー インターフェイス関数

機能 説明
MsiEnableUIPreview ユーザー インターフェイスのプレビュー モードが有効になります。
MsiPreviewBillboard 表示されたダイアログ ボックスに、ホスト コントロールを含むビルボードが表示されます。
MsiPreviewDialog ダイアログ ボックスがモードレスおよび非アクティブとして表示されます。

 

すべての関数は、ANSI 呼び出しと Unicode 呼び出しの両方をサポートします。 これらの関数を使用するには、MsiQuery.h と Msi.lib とのリンクを含めてください。

インストール関数

上記の一覧表示されているデータベース アクセス機能に加えて、「インストーラー関数リファレンス」セクションに記載されているインストーラー関数を使用して、アプリケーションのインストール パッケージを作成してください。