Freigeben über


MsiDatabaseApplyTransformA-Funktion (msiquery.h)

Die MsiDatabaseApplyTransform-Funktion wendet eine Transformation auf eine Datenbank an.

Syntax

UINT MsiDatabaseApplyTransformA(
  [in] MSIHANDLE hDatabase,
  [in] LPCSTR    szTransformFile,
  [in] int       iErrorConditions
);

Parameter

[in] hDatabase

Handle mit der Datenbank, die von MsiOpenDatabase zur Transformation abgerufen wurde.

[in] szTransformFile

Gibt den Namen der zu übernehmenden Transformationsdatei an.

[in] iErrorConditions

Fehlerbedingungen, die unterdrückt werden sollten. Dieser Parameter ist ein Bitfeld, das die folgenden Bits enthalten kann.

Fehlerzustand Bedeutung
MSITRANSFORM_ERROR_ADDEXISTINGROW
0x0001
Hinzufügung einer bereits vorhandenen Zeile
MSITRANSFORM_ERROR_DELMISSINGROW
0x0002
Löschung einer nicht vorhandenen Zeile
MSITRANSFORM_ERROR_ADDEXISTINGTABLE
0x0004
Hinzufügung einer bereits vorhandenen Tabelle
MSITRANSFORM_ERROR_DELMISSINGTABLE
0x0008
Löschung einer nicht vorhandenen Tabelle
MSITRANSFORM_ERROR_UPDATEMISSINGROW
0x0010
Aktualisierung einer nicht vorhandenen Zeile
MSITRANSFORM_ERROR_CHANGECODEPAGE
0x0020
Transformations- und Datenbankcodepages stimmen nicht überein, und weder Datenbank noch Transformation weisen eine neutrale Codepage auf.
MSITRANSFORM_ERROR_VIEWTRANSFORM
0x0100
Erstellen Sie die temporäre _TransformView Tabelle.

Rückgabewert

Die MsiDatabaseApplyTransform-Funktion gibt einen der folgenden Werte zurück:

Hinweise

Die MsiDatabaseApplyTransform-Funktion verzögert das Transformieren von Tabellen, bis dies erforderlich ist. Alle Tabellen, die hinzugefügt oder gelöscht werden sollen, werden sofort verarbeitet. Änderungen an der vorhandenen Tabelle werden jedoch verzögert, bis die Tabelle geladen oder die Datenbank committet wird.

Ein Fehler tritt auf, wenn MsiDatabaseApplyTransform aufgerufen wird, wenn Tabellen bereits geladen und im Speicher gespeichert wurden.

Da das Listentrennzeichen für Transformationen, Quellen und Patches ein Semikolon ist, sollte dieses Zeichen nicht für Dateinamen oder Pfade verwendet werden.

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.

Wenn die Funktion fehlschlägt, können Sie erweiterte Fehlerinformationen mithilfe von MsiGetLastErrorRecord abrufen.

Hinweis

Der msiquery.h-Header definiert MsiDatabaseApplyTransform als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante 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

Weitere Informationen

Datenbankverwaltungsfunktionen

Datenbanktransformationen