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 プロパティは、基本データベースと参照データベースの両方の Property Table で定義する必要があります。 MSITRANSFORM_VALIDATE_UPGRADECODEを使用する場合は、 UpgradeCode プロパティも両方のデータベースで定義する必要があります。 これらの条件が満たされない場合、 MsiCreateTransformSummaryInfo はERROR_INSTALL_PACKAGE_INVALIDを返します。

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

注意

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

要件

要件
サポートされている最小のクライアント 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 インストーラー
対象プラットフォーム Windows
ヘッダー msiquery.h
Library Msi.lib
[DLL] Msi.dll

こちらもご覧ください

データベース変換

概要情報ストリームのプロパティ セット