Installer.OpenDatabase-Methode

Die OpenDatabase-Methode des Installer-Objekts öffnet eine vorhandene Datenbank oder erstellt eine neue Datenbank und gibt 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. Wenn eine leere Zeichenfolge angegeben wird, wird eine temporäre Datenbank erstellt, die nicht beibehalten wird.

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 ohne permanente Änderungen.
msiOpenDatabaseModeTransact
1
Öffnet eine Datenbank mit Lese-/Schreibzugriff im Transaktionsmodus.
msiOpenDatabaseModeDirect
2
Öffnet eine Datenbank mit direktem Lese-/Schreibzugriff ohne Transaktion.
msiOpenDatabaseModeCreate
3
Erstellt eine neue Datenbank im Transact-Modus mit Lese-/Schreibzugriff.
msiOpenDatabaseModeCreateDirect
4
Erstellt eine neue Datenbank mit Lese-/Schreibzugriff im direkten Modus.
msiOpenDatabaseModeListScript
5
Öffnet eine Datenbank zum Anzeigen von Anklangskriptdateien, 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 Installationsdatenbank darstellt, 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 es 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.

Öffnen Sie zum Vornehmen und Speichern von Änderungen an einer Datenbank zunächst die Datenbank im Transaktionsmodus (msiOpenDatabaseModeTransact), erstellen Sie (msiOpenDatabaseModeCreate oder msiOpenDatabaseModeCreateDirect) oder den direkten Modus (msiOpenDatabaseModeDirect). Rufen Sie nach dem Vornehmen der Änderungen immer die Commit-Methode auf, bevor Sie das Datenbankhand handle schließen. Die Commit-Methode leert 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. Wenn dies nicht der Fall ist, kann die Datenbank beschädigt werden.

Da die OpenDatabase-Methode den Datenbankzugriff initiiert, kann sie nicht mit einer laufenden Installation verwendet werden.

Wenn bei der Methode ein Fehler auftritt, können Sie erweiterte Fehlerinformationen mithilfe der LastErrorRecord-Methode abrufen.

Requirements (Anforderungen)

Anforderung Wert
Version
Windows Installer 5.0 auf Windows Server 2012, Windows 8, Windows Server 2008 R2 oder Windows 7. Windows Installer 4.0 oder Windows Installer 4.5 auf Windows Server 2008 oder Windows Vista. Windows Installationsprogramm auf Windows Server 2003 oder Windows XP
DLL
Msi.dll
IID
IID _ IInstaller ist als 000C1090-0000-0000-C000-00000000046 definiert.