データベース関数
この資料は、独自のセットアップ プログラムを作成している開発者と、インストーラー データベース テーブルについてさらに詳しく学習したいと考えている開発者を対象としています。 インストーラーの一般的な情報については、「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 とのリンクを含めてください。
インストール関数
上記の一覧表示されているデータベース アクセス機能に加えて、「インストーラー関数リファレンス」セクションに記載されているインストーラー関数を使用して、アプリケーションのインストール パッケージを作成してください。