Installer.OpenDatabase 方法
Installer物件的OpenDatabase方法會開啟現有的資料庫,或建立新的資料庫,並傳回Database物件。 如果無法成功建立和開啟 Database 物件,就會產生錯誤。
語法
Installer.OpenDatabase(
name,
openMode
)
參數
-
name
-
包含資料庫路徑名稱的必要字串。 如果提供空字串,則會建立不會保存的暫存資料庫。
-
openMode
-
下列清單中的參數,或字串,其中包含要寫入認可時要寫入之新輸出資料庫檔案的路徑名稱。
參數 意義 - msiOpenDatabaseModeReadOnly
- 0
開啟資料庫唯讀,無持續性變更。 - msiOpenDatabaseModeTransact
- 1
以交易模式開啟資料庫讀取/寫入。 - msiOpenDatabaseModeDirect
- 2
開啟沒有交易的資料庫直接讀取/寫入。 - msiOpenDatabaseModeCreate
- 3
建立新的資料庫、交易模式讀取/寫入。 - msiOpenDatabaseModeCreateDirect
- 4
建立新的資料庫,直接模式讀取/寫入。 - msiOpenDatabaseModeListScript
- 5
開啟資料庫以檢視公告腳本檔案,例如 CreateAdvertiseScript 方法所產生的檔案。 - msiOpenDatabaseModePatchFile
- 32
新增此旗標以指出修補程式檔案。
傳回值
Database物件,表示已開啟的現有或新安裝程式資料庫。
備註
當資料庫開啟為另一個資料庫的輸出時,輸出資料庫的摘要資訊資料流程實際上是原始資料庫的唯讀鏡像,因此無法變更。 此外,它不會與資料庫一起保存。 若要建立或修改輸出資料庫的摘要資訊,則必須關閉並重新開啟。
若要對資料庫進行變更,請先在 msiOpenDatabaseModeTransact) 交易 (中開啟資料庫,請建立 (msiOpenDatabaseModeCreate 或 msiOpenDatabaseModeCreateDirect) ,或直接 (msiOpenDatabaseModeDirect) 模式。 進行變更之後,請一律先呼叫 Commit 方法,再關閉資料庫控制碼。 Commit方法會排清所有緩衝區。
請一律在已在直接模式中開啟的資料庫上呼叫 Commit 方法, (msiOpenDatabaseModeDirect 或 msiOpenDatabaseModeCreateDirect) ,再關閉資料庫。 無法這樣做可能會損毀資料庫。
因為 OpenDatabase 方法會起始資料庫存取權,所以無法搭配執行中的安裝使用。
如果方法失敗,您可以使用 LastErrorRecord 方法來取得擴充錯誤資訊。
規格需求
需求 | 值 |
---|---|
版本 |
Windows Server 2012、Windows 8、Windows Server 2008 R2 或 Windows 7 上的 Windows Installer 5.0。 Windows Server 2008 或 Windows Vista 上的 Windows Installer 4.0 或 Windows Installer 4.5。 Windows Server 2003 或 Windows XP 上的 Windows Installer |
DLL |
|
IID |
IID_IInstaller定義為 000C1090-0000-0000-C000-000000000046 |