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
Behandeln Sie die Datenbank, die von MsiOpenDatabase in 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 |
---|---|
|
Hinzufügen einer zeile, die bereits vorhanden ist. |
|
Löschen einer Zeile, die nicht vorhanden ist. |
|
Hinzufügen einer tabelle, die bereits vorhanden ist. |
|
Löschen einer Tabelle, die nicht vorhanden ist. |
|
Aktualisieren einer Zeile, die nicht vorhanden ist. |
|
Transformations- und Datenbankcodeseiten stimmen nicht überein und es gibt keine neutrale Codepage. |
|
Erstellen Sie die temporäre _TransformView Tabelle. |
Rückgabewert
Die MsiDatabaseApplyTransform Funktion gibt einen der folgenden Werte zurück:
Bemerkungen
Die MsiDatabaseApplyTransform Funktion verzögert die Transformation von Tabellen, bis sie erforderlich ist. Alle hinzuzufügenden oder verworfenen Tabellen werden sofort verarbeitet. Änderungen an der vorhandenen Tabelle werden jedoch verzögert, bis die Tabelle geladen wird oder die Datenbank zugesichert wird.
Wenn MsiDatabaseApplyTransform- aufgerufen wird, wenn Tabellen bereits geladen und im Speicher gespeichert wurden, tritt ein Fehler auf.
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 aus benutzerdefinierten 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 MsiGetLastErrorRecordabrufen.
Anmerkung
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
Anforderung | Wert |
---|---|
mindestens unterstützte 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- | Fenster |
Header- | msiquery.h |
Library | Msi.lib |
DLL- | Msi.dll |