資料庫函數

此資料適用于撰寫自己的安裝程式的開發人員,以及想要深入瞭解安裝程式資料庫資料表的開發人員。 如需安裝程式的一般資訊,請參閱關於 Windows 安裝程式

您可以使用安裝程式存取函式來存取資料庫和安裝程式。 這些函式只能由自訂安裝動作和撰寫工具使用。 某些安裝程式存取函式需要SQL查詢字串,才能查詢資料庫。 查詢必須遵守安裝程式SQL語法

本主題會依類別列出安裝程式資料庫存取函式。

一般資料庫存取函式

函式 描述
MsiDatabaseCommit 認可資料庫的變更。
MsiDatabaseGetPrimaryKeys 傳回所有主鍵資料行的名稱。
MsiDatabaseIsTablePersistent 傳回描述資料表狀態的列舉。
MsiDatabaseOpenView 準備資料庫查詢並建立檢視物件。
MsiGetActiveDatabase 傳回安裝的作用中資料庫。
MsiViewGetColumnInfo 傳回資料行名稱或定義。
MsiOpenDatabase 開啟資料庫檔案以供資料存取。
MsiViewClose 釋放已執行檢視的結果集。
MsiViewExecute 執行檢視查詢並提供必要的參數。
MsiViewFetch 從檢視擷取下一個循序記錄。
MsiViewGetError 傳回 MsiViewModify 函式中發生的錯誤。
MsiViewModify 更新擷取的記錄。

 

資料庫管理功能

函式 描述
MsiCreateTransformSummaryInfo 建立現有轉換的摘要資訊。
MsiDatabaseApplyTransform 將轉換套用至資料庫。
MsiDatabaseExport 將資料表從開啟的資料庫匯出至文字封存檔案。
MsiDatabaseGenerateTransform 產生兩個資料庫之間差異的轉換檔案。
MsiDatabaseImport 將安裝程式文字封存資料表匯入開啟的資料庫。
MsiDatabaseMerge 將兩個資料庫合併在一起。
MsiGetDatabaseState 傳回資料庫的狀態。

 

記錄處理函式

函式 描述
MsiCreateRecord 建立具有指定欄位數目的新記錄物件。
MsiFormatRecord 使用格式字串來格式化記錄欄位資料和屬性。
MsiRecordClearData 將記錄中的所有欄位設定為 null。
MsiRecordDataSize 傳回記錄欄位的長度。
MsiRecordGetFieldCount 傳回記錄中的欄位數。
MsiRecordGetInteger 從記錄欄位傳回整數值。
MsiRecordGetString 傳回記錄欄位的字串值。
MsiRecordIsNull 報告記錄欄位是否為 Null。
MsiRecordReadStream 從記錄資料流程欄位讀取位元組到緩衝區。
MsiRecordSetInteger 將記錄欄位設定為整數位段。
MsiRecordSetStream 從檔案設定記錄資料流程欄位。
MsiRecordSetString 將字串複製到指定的欄位。

 

摘要資訊屬性函式

函式 描述
MsiGetSummaryInformation 取得安裝程式資料庫的摘要資訊資料流程控制碼。
MsiSummaryInfoGetProperty 從摘要資訊取得單一屬性。
MsiSummaryInfoGetPropertyCount 傳回摘要資訊資料流程中的屬性數目。
MsiSummaryInfoPersist 將已變更的摘要資訊寫回摘要資訊資料流程。
MsiSummaryInfoSetProperty 設定單一摘要資訊屬性。

 

安裝程式狀態存取函式

函式 描述
MsiGetLanguage 傳回目前安裝的數值語言。
MsiGetLastErrorRecord 傳回上次針對呼叫進程傳回的錯誤記錄。
MsiGetMode 傳回其中一個布林內部安裝狀態。
MsiGetProperty 取得安裝程式屬性的值。
MsiSetProperty 設定安裝屬性的值。
MsiSetMode 設定內部引擎布林值狀態。

 

安裝程式動作函式

函式 描述
MsiDoAction 執行內建動作、自訂動作或使用者介面精靈動作。
MsiEvaluateCondition 評估包含屬性名稱和值的條件運算式。
MsiProcessMessage 將錯誤記錄傳送至安裝程式進行處理。
MsiSequence 執行動作順序。

 

安裝程式位置函式

函式 描述
MsiGetSourcePath 傳回 Directory 資料表中資料夾的完整來源路徑。
MsiGetTargetPath 傳回 Directory 資料表中資料夾的完整目標路徑。
MsiSetTargetPath 設定 Directory 資料表中資料夾的完整目標路徑。

 

安裝程式選取函式

函式 描述
MsiEnumComponentCosts 列舉安裝元件所需的每個磁片磁碟機磁碟空間。
MsiGetComponentState 取得元件的狀態。
MsiGetFeatureCost 傳回功能所需的磁碟空間。
MsiGetFeatureState 取得功能的狀態。
MsiGetFeatureValidStates 傳回有效的安裝狀態。
MsiSetComponentState 將元件設定為指定的狀態。
MsiSetFeatureAttributes 在執行時間修改功能的預設屬性。
MsiSetFeatureState 將功能設定為指定的狀態。
MsiSetInstallLevel 設定完整產品安裝的安裝層級。
MsiVerifyDiskSpace 檢查足夠的磁碟空間。

 

使用者介面函式

函式 描述
MsiEnableUIPreview 啟用使用者介面的預覽模式。
MsiPreviewBillboard 在顯示的對話方塊中,顯示具有主控制項的計費板。
MsiPreviewDialog 將對話方塊顯示為無模式和非作用中。

 

所有函式都支援 ANSI 和 Unicode 呼叫。 若要使用這些函式,請包含 MsiQuery.h,並使用 Msi.lib 連結。

安裝函式

除了上述資料庫存取函式之外,您還可以使用 安裝程式函式參考 一節中列出的安裝程式函式,為應用程式建立安裝套件。