資料庫函數
此資料適用于撰寫自己的安裝程式的開發人員,以及想要深入瞭解安裝程式資料庫資料表的開發人員。 如需安裝程式的一般資訊,請參閱關於 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 連結。
安裝函式
除了上述資料庫存取函式之外,您還可以使用 安裝程式函式參考 一節中列出的安裝程式函式,為應用程式建立安裝套件。