この資料は、独自のセットアップ プログラムを作成する開発者と、インストーラー データベース テーブルの詳細を知りたい開発者を対象としています。 インストーラーの一般的な情報については、「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 | 指定されたフィールドに文字列をコピーします。 |
Summary Information プロパティ関数
| 機能 | 形容 |
|---|---|
| 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 とリンクします。
インストール関数
上記のデータベース アクセス機能に加えて、「インストーラー関数リファレンス」セクションに記載されているインストーラー関数を使用して、アプリケーションのインストール パッケージを作成します。