次の方法で共有


MsiCreateTransformSummaryInfoA 関数 (msiquery.h)

MsiCreateTransformSummaryInfo 関数は、検証条件とエラー条件を含む既存の変換の概要情報を作成します。 この関数を実行すると、MsiGetLastErrorRecordを使用してアクセスできるエラー レコードが設定されます。

構文

UINT MsiCreateTransformSummaryInfoA(
  [in] MSIHANDLE hDatabase,
  [in] MSIHANDLE hDatabaseReference,
  [in] LPCSTR    szTransformFile,
  [in] int       iErrorConditions,
  [in] int       iValidation
);

パラメーター

[in] hDatabase

新しいデータベースの概要情報を含むデータベースへのハンドル。

[in] hDatabaseReference

元の概要情報を含むデータベースへのハンドル。

[in] szTransformFile

概要情報が追加される変換の名前。

[in] iErrorConditions

変換の適用時に抑制する必要があるエラー条件。 次の値のうち 1 つ以上を使用します。

エラー条件 意味
しない
0x00000000
次の条件はありません。
MSITRANSFORM_ERROR_ADDEXISTINGROW
0x00000001
存在する行を追加する。
MSITRANSFORM_ERROR_DELMISSINGROW
0x00000002
存在しない行の削除。
MSITRANSFORM_ERROR_ADDEXISTINGTABLE
0x00000004
存在するテーブルの追加。
MSITRANSFORM_ERROR_DELMISSINGTABLE
0x00000008
存在しないテーブルの削除。
MSITRANSFORM_ERROR_UPDATEMISSINGROW
0x00000010
存在しない行を更新する。
MSITRANSFORM_ERROR_CHANGECODEPAGE
0x00000020
変換コード ページとデータベース コード ページが一致せず、そのコード ページはニュートラルです。

[in] iValidation

変換をデータベースに適用できることを確認するために検証するプロパティを指定します。 このパラメーターには、次の値のうち 1 つ以上を指定できます。

検証フラグ 意味
しない
0x00000000
プロパティを検証しないでください。
MSITRANSFORM_VALIDATE_LANGUAGE
0x00000001
既定の言語は、基本データベースと一致する必要があります。
MSITRANSFORM_VALIDATE_PRODUCT
0x00000002
製品は基本データベースと一致している必要があります。
 

製品バージョン フラグを検証します。

検証フラグ 意味
MSITRANSFORM_VALIDATE_MAJORVERSION
0x00000008
メジャー バージョンのみを確認します。
MSITRANSFORM_VALIDATE_MINORVERSION
0x00000010
メジャー バージョンとマイナー バージョンのみを確認してください。
MSITRANSFORM_VALIDATE_UPDATEVERSION
0x00000020
メジャー、マイナー、および更新プログラムのバージョンを確認します。
 

製品バージョンのリレーションシップ フラグ。 次の表では、インストールされているバージョンは変換されるパッケージのバージョンであり、基本バージョンは変換の作成に使用されるパッケージのバージョンです。

検証フラグ 意味
MSITRANSFORM_VALIDATE_NEWLESSBASEVERSION
0x00000040
インストールされているバージョン < 基本バージョンです。
MSITRANSFORM_VALIDATE_NEWLESSEQUALBASEVERSION
0x00000080
インストールされているバージョン <= 基本バージョン。
MSITRANSFORM_VALIDATE_NEWEQUALBASEVERSION
0x00000100
インストールされているバージョン = 基本バージョン。
MSITRANSFORM_VALIDATE_NEWGREATEREQUALBASEVERSION
0x00000200
インストールされているバージョン >= 基本バージョン。
MSITRANSFORM_VALIDATE_NEWGREATERBASEVERSION
0x00000400
インストールされているバージョン > 基本バージョンです。
 

コード検証フラグをアップグレードします。

検証フラグ 意味
MSITRANSFORM_VALIDATE_UPGRADECODE
0x00000800
UpgradeCode はベース データベースと一致する必要があります。

戻り値

この関数は UINT を返します。

備考

ProductCode プロパティと ProductVersion プロパティは、基本データベースと参照データベースの両方の プロパティ テーブル で定義する必要があります。 MSITRANSFORM_VALIDATE_UPGRADECODEを使用する場合は、UpgradeCode プロパティも両方のデータベースで定義する必要があります。 これらの条件が満たされていない場合、MsiCreateTransformSummaryInfo はERROR_INSTALL_PACKAGE_INVALIDを返します。

  • 変換、ソース、パッチのリスト区切り記号として使用されるため、ファイル名またはパスにはセミコロンを使用しないでください。
  • この関数は、カスタム アクションから呼び出すことはできません。 カスタム アクションからこの関数を呼び出すと、関数は失敗します。

手記

msiquery.h ヘッダーは、MSICreateTransformSummaryInfo を、UNICODE プリプロセッサ定数の定義に基づいてこの関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント 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 インストーラー
ターゲット プラットフォーム の ウィンドウズ
ヘッダー msiquery.h
ライブラリ Msi.lib
DLL Msi.dll

関連項目

データベース変換

Summary Information Stream プロパティ セット