Installer 函式參考

若要在應用程式中啟用 Windows Installer,您必須使用安裝程式函式。 本主題中的資料表會依類別識別函式。

使用者介面和記錄函式

名稱 描述
MsiSetInternalUI 啟用安裝程式的內部使用者介面。
MsiSetExternalUI 啟用以字串格式接收訊息的外部使用者介面處理常式。
MsiSetExternalUIRecord 啟用以記錄格式接收訊息的外部使用者介面處理常式。
MsiEnableLog 設定呼叫進程中所有安裝的記錄模式。

 

處理管理功能

名稱 描述
MsiCloseHandle 關閉開啟的安裝控制碼。
MsiCloseAllHandles 關閉所有開啟的安裝控制碼。 請勿用於清除。

 

安裝和設定函式

名稱 描述
MsiAdvertiseProduct 公告產品。
MsiAdvertiseProductEx 公告產品。
MsiAdvertiseScript 將公告腳本檔案複製到指定的位置。
MsiInstallProduct 安裝或移除應用程式或應用程式套件。
MsiConfigureProduct 安裝或移除應用程式或應用程式套件。
MsiConfigureProductEx 安裝或移除應用程式或應用程式套件。 您可以指定產品命令列。
MsiReinstallProduct 重新安裝或修復安裝。
MsiConfigureFeature 設定功能的已安裝狀態。
MsiReinstallFeature 驗證或修復功能。
MsiInstallMissingComponent 安裝遺漏的元件。
MsiInstallMissingFile 安裝遺漏的檔案。
MsiNotifySidChange 使用使用者 SID 的變更通知及更新 Windows Installer 內部資訊。 從 Windows Installer 3.1 開始提供。
MsiProcessAdvertiseScript 將公告腳本檔案處理到指定的位置。
MsiSourceListAddSource 在指定的內容中新增或重新排列修補程式或產品的來源。
MsiSourceListAddSourceEx 在指定的內容中新增或重新排列修補程式或產品的來源。 為不存在於指定內容中的修補程式建立來源清單。 可在 Windows Installer 3.0 中使用。
MsiSourceListClearSource 移除指定內容中產品或修補程式的現有來源。 可在 Windows Installer 3.0 中使用。
MsiSourceListClearAll 移除指定產品實例之特定來源類型的所有現有來源。
MsiSourceListClearAllEx 移除指定產品實例之特定來源類型的所有現有來源。 可在 Windows Installer 3.0 中使用。
MsiSourceListForceResolution 移除產品或修補程式目前來源的註冊,該來源註冊為屬性 「LastUsedSource」。 此函式不會影響已註冊的來源清單。
MsiSourceListForceResolutionEx 移除產品或修補程式目前來源的註冊,該來源註冊為屬性 「LastUsedSource」。 此函式不會影響已註冊的來源清單。 可在 Windows Installer 3.0 中使用。
MsiSourceListGetInfo 擷取特定內容中產品或修補程式的來源清單相關資訊。
MsiSourceListSetInfo 在指定的內容中設定產品或修補程式的最新使用來源。 可在 Windows Installer 3.0 中使用。
MsiSourceListEnumMediaDisks 列舉針對修補程式或產品為媒體來源註冊的磁片清單。 可在 Windows Installer 3.0 中使用。
MsiSourceListAddMediaDisk 新增或更新已註冊產品或修補程式之媒體來源的磁片。 可在 Windows Installer 3.0 中使用。
MsiSourceListClearMediaDisk 移除特定內容中產品或修補程式之媒體來源下的現有已註冊磁片。 可在 Windows Installer 3.0 中使用。
MsiSourceListEnumSources 列舉指定修補程式或產品之來源清單中的來源。 可在 Windows Installer 3.0 中使用。

 

Component-Specific函式

名稱 描述
MsiProvideAssembly 安裝並傳回元件的完整元件路徑。
MsiProvideComponent 安裝並傳回元件的完整元件路徑。
MsiProvideQualifiedComponent 安裝並傳回合格元件的完整元件路徑。
MsiProvideQualifiedComponentEx 安裝並傳回產品所發行之合格元件的完整元件路徑。
MsiGetComponentPath 將完整路徑或登錄機碼傳回已安裝的元件。
MsiGetComponentPathEx 傳回使用者帳戶和安裝內容中已安裝元件的完整路徑或登錄機碼。 Windows Installer 4.5 和更早版本不支援。
MsiLocateComponent 傳回已安裝元件的完整路徑,不含產品代碼。
MsiQueryComponentState 傳回元件的已安裝狀態。 可以查詢安裝在目前使用者以外的使用者帳戶下之產品實例的元件。 可在 Windows Installer 3.0 或更新版本中使用。

 

Application-Only函式

名稱 描述
MsiCollectUserInfo 從安裝精靈儲存使用者資訊。
MsiUseFeature 遞增功能的使用計數,並指出安裝狀態。
MsiUseFeatureEx 遞增功能的使用計數,並指出安裝狀態。
MsiGetProductCode 使用元件程式碼傳回產品代碼。

 

系統狀態函式

名稱 描述
MsiEnumProducts 列舉公告的產品。
MsiEnumProductsEx 列舉在指定內容中公告或已安裝產品的所有實例。 可在 Windows Installer 3.0 或更新版本中使用。
MsiEnumRelatedProducts 列舉目前已安裝的產品,其具有指定的升級程式碼。
MsiEnumFeatures 列舉已發佈的功能。
MsiEnumComponents 列舉已安裝的元件。
MsiEnumComponentsEx 列舉使用者帳戶和安裝內容中已安裝的元件。 Windows Installer 4.5 和更早版本不支援。
MsiEnumClients 列舉已安裝元件的用戶端。
MsiEnumClientsEx 列舉使用者帳戶和安裝內容中已安裝元件的用戶端。 Windows Installer 4.5 和更早版本不支援。
MsiEnumComponentQualifiers 列舉元件的公告限定詞。
MsiQueryFeatureState 傳回功能的已安裝狀態。
MsiQueryFeatureStateEx 傳回產品功能的已安裝狀態。 可以查詢目前使用者以外的使用者帳戶下所安裝產品實例的功能。 可在 Windows Installer 3.0 或更新版本中使用。
MsiQueryProductState 傳回應用程式或應用程式套件的已安裝狀態。
MsiGetFeatureUsage 傳回功能的使用計量。
MsiGetProductInfo 傳回已發佈和已安裝產品的產品資訊。
MsiGetProductInfoEx 傳回已公告和已安裝產品的產品資訊。 可以擷取目前使用者以外的使用者帳戶所安裝產品實例的相關資訊。 可在 Windows Installer 3.0 或更新版本中使用。
MsiGetUserInfo 傳回已安裝產品的已註冊使用者資訊。

 

產品查詢函式

名稱 描述
MsiOpenProduct 開啟要與存取資料庫之函式搭配使用的產品。
MsiOpenPackage 開啟封裝,以搭配存取資料庫的函式使用。
MsiOpenPackageEx 開啟封裝,以搭配存取資料庫的函式使用。
MsiIsProductElevated 檢查產品是否已以較高的許可權安裝。
MsiGetProductInfoFromScript 傳回安裝程式腳本檔案的產品資訊。
MsiGetProductProperty 擷取產品資料庫中的屬性。
MsiGetShortcutTarget 檢查快捷方式,並在可用時傳回其產品、功能名稱和元件。
MsiGetFeatureInfo 傳回功能的描述性資訊。
MsiVerifyPackage 確認指定的檔案是安裝套件。

 

修補函式

名稱 描述
MsiApplyPatch 叫用安裝並套用修補程式套件。
MsiEnumPatches 傳回套用至產品之每個修補程式的 GUID,以及套用至產品之每個修補程式的轉換清單。
MsiGetPatchInfo 傳回修補程式的相關資訊。
MsiRemovePatches 從產品卸載修補程式。 可在 Windows Installer 3.0 中使用。
MsiDeterminePatchSequence 決定一組修補程式和產品的最佳應用程式順序。 可在 Windows Installer 3.0 中使用。
MsiApplyMultiplePatches 將一或多個修補程式套用至產品。 可在 Windows Installer 3.0 中使用。
MsiEnumPatchesEx 列舉在特定內容或所有內容中針對產品套用的所有修補程式。 可在 Windows Installer 3.0 中使用。
MsiGetPatchFileList 當提供 .msp 檔案的清單時,此函式會擷取可由 targe 修補程式更新的檔案清單。 可在 Windows Installer 4.0 中使用。
MsiGetPatchInfoEx 查詢指定修補程式應用程式至指定產品的相關資訊。 可在 Windows Installer 3.0 中使用。
MsiExtractPatchXMLData 從修補程式擷取資訊。 可在 Windows Installer 3.0 中使用。
MsiDetermineApplicablePatches 決定更新產品或一組產品所需的最佳修補程式集。 可在 Windows Installer 3.0 中使用。

 

檔案查詢函式

名稱 描述
MsiGetFileHash 接受檔案的路徑,並傳回該檔案的 128 位雜湊。
MsiGetFileSignatureInformation 接受已數位簽署之檔案的路徑,並傳回檔案的簽署者憑證和雜湊。
MsiGetFileVersion 傳回版本字串和語言字串。

 

交易管理功能

名稱 描述
MsiBeginTransaction 開始處理多套件安裝的交易,並傳回交易的識別碼。 從 Windows Installer 4.5 開始,即可使用此函式。
MsiJoinTransaction 要求 Windows Installer 讓目前進程成為安裝多套件安裝之交易的擁有者。 從 Windows Installer 4.5 開始,即可使用此函式。
MsiEndTransaction 認可或復原屬於交易的所有安裝。 從 Windows Installer 4.5 開始,即可使用此函式。

 

資料庫函數

除了先前資料表中所識別的 Windows Installer 函式之外,您還可以使用 資料庫函 式一節中所述的資料庫存取函式來管理安裝資料庫中的資訊。

安裝程式結構

此外,安裝資料庫中的某些資訊是使用 安裝程式結構 一節中所述的結構來處理。