Freigeben über


Installer.OpenDatabase-Methode

Die OpenDatabase-Methode des Installer-Objekts öffnet eine vorhandene Datenbank oder erstellt eine neue Datenbank und gibt dabei ein Database-Objekt zurück. Es wird ein Fehler generiert, wenn das Database-Objekt nicht erfolgreich erstellt und geöffnet werden kann.

Syntax

Installer.OpenDatabase(
  name,
  openMode
)

Parameter

name

Erforderliche Zeichenfolge, die den Pfadnamen der Datenbank enthält. Falls Sie eine leere Zeichenfolge bereitstellen, wird eine temporäre, nicht persistente Datenbank erstellt.

openMode

Ein Parameter aus der folgenden Liste oder eine Zeichenfolge, die den Pfadnamen der neuen Ausgabedatenbankdatei enthält, in die beim Commit geschrieben werden soll.

Parameter Bedeutung
msiOpenDatabaseModeReadOnly
0
Öffnet eine schreibgeschützte Datenbank, keine persistenten Änderungen.
msiOpenDatabaseModeTransact
1
Öffnet eine Datenbank mit Lese-/Schreibzugriff im Transaktionsmodus.
msiOpenDatabaseModeDirect
2
Öffnet einen direkten Lese-/Schreibzugriff für die Datenbank ohne Transaktion.
msiOpenDatabaseModeCreate
3
Erstellt eine neue Datenbank, Transaktionsmodus mit Lese-/Schreibzugriff.
msiOpenDatabaseModeCreateDirect
4
Erstellt eine neue Datenbank, direkter Modus mit Lese-/Schreibzugriff.
msiOpenDatabaseModeListScript
5
Öffnet eine Datenbank, um Ankündigungsskriptdateien anzuzeigen, z. B. die von der CreateAdvertiseScript-Methode generierten Dateien.
msiOpenDatabaseModePatchFile
32
Fügt dieses Flag hinzu, um eine Patchdatei anzugeben.

 

Rückgabewert

Ein Database-Objekt, das die vorhandene oder neue Installer-Datenbank repräsentiert, die geöffnet wurde.

Bemerkungen

Wenn eine Datenbank als Ausgabe einer anderen Datenbank geöffnet wird, ist der Zusammenfassungsinformationsstream der Ausgabedatenbank tatsächlich ein schreibgeschützter Spiegel der ursprünglichen Datenbank und kann daher nicht geändert werden. Darüber hinaus wird sie nicht in der Datenbank beibehalten. Um die Zusammenfassungsinformationen für die Ausgabedatenbank zu erstellen oder zu ändern, muss sie geschlossen und erneut geöffnet werden.

Um Änderungen an einer Datenbank vorzunehmen und zu speichern, öffnen Sie zuerst die Datenbank im Transaktionsmodus (msiOpenDatabaseModeTransact), Erstellungsmodus (msiOpenDatabaseModeCreate oder msiOpenDatabaseModeCreateDirect) oder im direkten Modus (msiOpenDatabaseModeDirect). Rufen Sie nach dem Vornehmen der Änderungen immer die Commit-Methode auf, bevor Sie das Datenbankhandle schließen. Die Commit-Methode löscht alle Puffer.

Rufen Sie immer die Commit-Methode für eine Datenbank auf, die im direkten Modus geöffnet wurde (msiOpenDatabaseModeDirect oder msiOpenDatabaseModeCreateDirect), bevor Sie die Datenbank schließen. Andernfalls kann die Datenbank beschädigt werden.

Da die OpenDatabase-Methode den Datenbankzugriff initiiert, kann sie nicht für eine ausgeführte Installation verwendet werden.

Wenn die Methode fehlschlägt, können Sie die erweiterten Fehlerinformationen mithilfe der LastErrorRecord-Methode abrufen.

Anforderungen

Anforderung Wert
Version
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
DLL
Msi.dll
IID
IID_IInstaller ist definiert als 000C1090-0000-0000-C000-000000000046