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 |
---|---|
|
Hinzufügung einer bereits vorhandenen Zeile |
|
Löschung einer nicht vorhandenen Zeile |
|
Hinzufügung einer bereits vorhandenen Tabelle |
|
Löschung einer nicht vorhandenen Tabelle |
|
Aktualisierung einer nicht vorhandenen Zeile |
|
Transformations- und Datenbankcodepages stimmen nicht überein, und weder Datenbank noch Transformation weisen eine neutrale Codepage auf. |
|
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 |