Freigeben über


MsiCreateTransformSummaryInfoA-Funktion (msiquery.h)

Die MsiCreateTransformSummaryInfo-Funktion erstellt Zusammenfassungsinformationen einer vorhandenen Transformation, um Validierungs- und Fehlerbedingungen einzuschließen. Die Ausführung dieser Funktion legt den Fehlerdatensatz fest, auf den mithilfe von MsiGetLastErrorRecord zugegriffen werden kann.

Syntax

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

Parameter

[in] hDatabase

Das Handle für die Datenbank, die die neuen Datenbankzusammenfassungsinformationen enthält.

[in] hDatabaseReference

Das Handle für die Datenbank, das die ursprünglichen Zusammenfassungsinformationen enthält.

[in] szTransformFile

Der Name der Transformation, der die Zusammenfassungsinformationen hinzugefügt werden.

[in] iErrorConditions

Die Fehlerbedingungen, die unterdrückt werden sollten, wenn die Transformation angewendet wird. Verwenden Sie mindestens einen der folgenden Werte.

Fehlerzustand Bedeutung
keine
0x00000000
Keine der folgenden Bedingungen.
MSITRANSFORM_ERROR_ADDEXISTINGROW
0x00000001
Hinzufügen einer zeile, die vorhanden ist.
MSITRANSFORM_ERROR_DELMISSINGROW
0x00000002
Löschung einer nicht vorhandenen Zeile
MSITRANSFORM_ERROR_ADDEXISTINGTABLE
0x00000004
Hinzufügen einer vorhandenen Tabelle.
MSITRANSFORM_ERROR_DELMISSINGTABLE
0x00000008
Löschung einer nicht vorhandenen Tabelle
MSITRANSFORM_ERROR_UPDATEMISSINGROW
0x00000010
Aktualisierung einer nicht vorhandenen Zeile
MSITRANSFORM_ERROR_CHANGECODEPAGE
0x00000020
Transformations- und Datenbankcodeseiten stimmen nicht überein, und ihre Codepages sind neutral.

[in] iValidation

Gibt die zu überprüfenden Eigenschaften an, um zu überprüfen, ob die Transformation auf die Datenbank angewendet werden kann. Dieser Parameter kann einen oder mehrere der folgenden Werte aufweisen.

Validierungsflag Bedeutung
keine
0x00000000
Überprüfen Sie keine Eigenschaften.
MSITRANSFORM_VALIDATE_LANGUAGE
0x00000001
Die Standardsprache muss mit der Basisdatenbank übereinstimmen.
MSITRANSFORM_VALIDATE_PRODUCT
0x00000002
Das Produkt muss mit der Basisdatenbank übereinstimmen.
 

Überprüfen Sie Produktversionsflags.

Validierungsflag Bedeutung
MSITRANSFORM_VALIDATE_MAJORVERSION
0x00000008
Nur Hauptversion überprüfen
MSITRANSFORM_VALIDATE_MINORVERSION
0x00000010
Nur Haupt- und Nebenversionen überprüfen
MSITRANSFORM_VALIDATE_UPDATEVERSION
0x00000020
Überprüfen Sie haupt-, Neben- und Updateversionen.
 

Produktversionsbeziehungsflags. In der folgenden Tabelle ist die installierte Version die Version des Pakets, das transformiert wird, und die Basisversion ist die Version des Pakets, das zum Erstellen der Transformation verwendet wird.

Validierungsflag Bedeutung
MSITRANSFORM_VALIDATE_NEWLESSBASEVERSION
0x00000040
Die Basisversion der Version < wurde installiert.
MSITRANSFORM_VALIDATE_NEWLESSEQUALBASEVERSION
0x00000080
Installierte Version <= Basisversion.
MSITRANSFORM_VALIDATE_NEWEQUALBASEVERSION
0x00000100
Installierte Version = Basisversion.
MSITRANSFORM_VALIDATE_NEWGREATEREQUALBASEVERSION
0x00000200
Installierte Version >= Basisversion.
MSITRANSFORM_VALIDATE_NEWGREATERBASEVERSION
0x00000400
Die Basisversion der Version > wurde installiert.
 

Upgradecodevalidierungsflags.

Validierungsflag Bedeutung
MSITRANSFORM_VALIDATE_UPGRADECODE
0x00000800
UpgradeCode muss mit der Basisdatenbank übereinstimmen.

Rückgabewert

Diese Funktion gibt UINT zurück.

Hinweise

Die ProductCode-Eigenschaft und die ProductVersion-Eigenschaft müssen in der Eigenschaftentabelle der Basis- und der Verweisdatenbank definiert werden. Wenn MSITRANSFORM_VALIDATE_UPGRADECODE verwendet wird, muss auch die UpgradeCode-Eigenschaft in beiden Datenbanken definiert werden. Wenn diese Bedingungen nicht erfüllt sind, gibt MsiCreateTransformSummaryInfo ERROR_INSTALL_PACKAGE_INVALID zurück.

  • Verwenden Sie das Semikolon nicht für Dateinamen oder Pfade, da es als Listentrennzeichen für Transformationen, Quellen und Patches verwendet wird.
  • Diese Funktion kann nicht über benutzerdefinierte Aktionen aufgerufen werden. Ein Aufruf dieser Funktion aus einer benutzerdefinierten Aktion führt dazu, dass die Funktion fehlschlägt.

Hinweis

Der msiquery.h-Header definiert MsiCreateTransformSummaryInfo als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Installer 5.0 unter Windows Server 2012, Windows 8, Windows Server 2008 R2 oder Windows 7. Windows Installer 4.0 oder Windows Installer 4.5 unter Windows Server 2008 oder Windows Vista. Windows Installer unter Windows Server 2003 oder Windows XP
Zielplattform Windows
Kopfzeile msiquery.h
Bibliothek Msi.lib
DLL Msi.dll

Siehe auch

Datenbanktransformationen

Eigenschaftensatz für den zusammenfassenden Informationsdatenstrom