管理安裝來源
具有系統管理許可權的使用者和應用程式可以擷取和修改系統上 Windows Installer 應用程式和修補程式的網路、URL 和媒體來源清單資訊。
Windows Installer 2.0:不支援。 系統管理員無法讀取、重新排序或取代來源清單中的專案,而且無法修改或擷取來源清單屬性。 管理網路來源,但無法管理 URL 或媒體來源。 系統管理員只能管理針對目前使用者依使用者安裝的每個計算機應用程式或應用程式的來源清單。 這可防止系統管理員使用早於 Windows Installer 3.0 版的版本來管理系統中所有使用者的來源清單資訊。
Windows Installer 3.0 和更新版本: 具有系統管理員許可權的使用者和應用程式可以擷取並修改系統上為所有使用者安裝的 Windows Installer 應用程式和修補程式的來源清單資訊。 來源清單函式可用來管理網路、URL 和媒體來源的來源清單屬性。 安裝程式可以從外部進程重新排序來源清單。
具有系統管理權限的使用者和應用程式可以讀取和修改下列類型的來源清單資訊:
- 系統上所有使用者所安裝之應用程式和修補程式的來源清單。
- 除了應用程式來源之外,還有針對修補來源的清單。
- 除了網路來源之外的 URL 和媒體來源清單。
- 來源清單屬性,例如 MEDIAPACKAGEPATH、DiskPrompt、LastUsedSource、LastUsedType,以及 PackageName。
來源清單函式可以藉由指定安裝內容和用戶內容來限制找到的來源清單範圍。 有三種可能的安裝情境:每位使用者(非受管理)、每台機器,以及每位使用者受管理。 使用者環境可以是系統上的特定使用者或所有使用者。
存在於其他使用者的個別使用者(受控或非受控)內容下之應用程式實例或修補程式的來源清單,非系統管理員無法修改。 非系統管理員可以修改應用程式實例的來源清單,或安裝於下列內容下的修補程式:
- 他們自己的每位使用者(未管理的)上下文。
- 他們僅在 DisableBrowse、AllowLockdownBrowse與 AlwaysInstallElevated 原則允許的情況下,才能瀏覽應用程式或修補檔來源的機器環境。
- 他們自己的個別使用者受控內容,但只有在 disableBrowse 、AllowLockdownBrowse,以及 AlwaysInstallElevated 原則可讓他們瀏覽應用程式或修補程式來源時。
系統管理員可以修改非系統管理員可以修改的任何來源清單。 此外,具有系統管理許可權的系統管理員和應用程式可以修改下列內容下所安裝之應用程式或修補程式的來源清單:
- 每部計算機背景。
- 他們自己的每個使用者(未管理)情境或他們自己的每個使用者管理的情境。
- 另一位用戶的個別使用者受控內容。
注意
具有管理權限的使用者和應用程式無法修改應用程式實例的來源清單,或安裝在另一位使用者未受管理的個人使用者環境中的修補程式。
管理產品和修補程式的網路和 URL 來源
使用 MsiSourceListAddSourceEx 函式,在特定內容中新增或重新排序修補程式或應用程式的網路和 URL 來源來源清單。 使用 dwContext 參數來指定安裝內容。 使用 szUserSid 參數來指定用戶內容。
使用 MsiSourceListAddSourceEx 函式,為尚未套用至指定內容中任何應用程式的修補程式建立來源清單。 註冊修補程式以擁有更高許可權時,這非常有用。 如需註冊修補程式提升許可權的詳細資訊,請參閱 修補 Per-User 受控應用程式。
使用 MsiSourceListClearSource 函式,移除指定內容中應用程式或修補程式的現有來源。 拿掉應用程式或修補程式的目前來源會強制安裝程式在下一次需要來源時搜尋來源清單。
使用 MsiSourceListEnumSources 函式,列舉指定修補程式或應用程式之來源清單中的來源。
管理產品和補丁的媒體資源來源
使用 MsiSourceListAddMediaDisk 函式來新增或更新已註冊應用程式或修補程式之媒體來源的磁碟資訊。 每個項目都有一個磁碟ID來唯一識別。 如果磁碟已經存在,則會使用新的磁碟區標籤和磁碟提示值進行更新。 如果磁碟不存在,則會使用新的值建立新的磁碟條目。
使用 MsiSourceListClearMediaDisk 函式,針對特定內容中的應用程式或修補程式移除媒體來源下的現有已註冊磁碟。
使用 MsiSourceListEnumMediaDisks 函式來列舉應用程式或修補程式之媒體來源下註冊的磁碟清單。
擷取和修改來源清單資訊
使用 MsiSourceListGetInfo 和 MsiSourceListSetInfo 函式,擷取或修改特定內容中應用程式或修補程式的來源列表相關信息。 使用 dwContext 參數來指定安裝內容。 使用 szUserSid 參數來指定用戶內容。
例如來源清單屬性:MEDIAPACKAGEPATH、DiskPrompt、LastUsedSource、LastUsedType,以及 PackageName。
注意
LastUsedType 來源清單屬性只能讀取。 無法使用 MsiSourceListSetInfo 函式直接設定。
清除整個來源清單或強制解決來源
使用 MsiSourceListClearAllEx 函式,移除指定應用程式或修補程式實例指定來源類型的所有現有來源。 如果修補程式未由相同環境中的任何應用程式安裝,則也會移除該修補程式的註冊。 使用 dwContext 參數來指定安裝內容。 使用 szUserSid 參數來指定用戶內容。
使用 MsiSourceListForceResolutionEx 清除指定內容中應用程式或修補程式的最後使用的來源條目。 此函式會移除名為 LastUsedSource的屬性註冊。 此函式不會影響已註冊的來源清單。 清除 LastUsedSource 註冊會強制安裝程式在下一次需要來源時對已註冊的來源執行來源解析。