Share via


MsiDatabaseApplyTransformW-Funktion (msiquery.h)

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

Syntax

UINT MsiDatabaseApplyTransformW(
  [in] MSIHANDLE hDatabase,
  [in] LPCWSTR   szTransformFile,
  [in] int       iErrorConditions
);

Parameter

[in] hDatabase

Handle für die Datenbank, die von MsiOpenDatabase für die Transformation abgerufen wurde.

[in] szTransformFile

Gibt den Namen der anzuwendenden Transformationsdatei an.

[in] iErrorConditions

Fehlerbedingungen, die unterdrückt werden sollen. 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 die Transformation 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 ein Commit für die Datenbank ausgeführt 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 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 Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

   
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