管理安裝來源

具有系統管理許可權的使用者和應用程式可以擷取和修改系統上Windows安裝程式應用程式和修補程式的網路、URL 和媒體來源清單資訊。

Windows Installer 2.0:不支援。 系統管理員無法讀取、重新排序或取代來源清單中的專案,也無法修改或擷取來源清單屬性。 可以管理網路來源,但無法管理 URL 或媒體來源。 系統管理員只能管理針對目前使用者依使用者安裝的每個電腦應用程式或應用程式的來源清單。 這可防止系統管理員使用早于 Windows Installer 3.0 版的版本,管理系統中所有使用者的來源清單資訊。

Windows Installer 3.0 和更新版本:具有系統管理員許可權的使用者和應用程式可以擷取和修改所有使用者系統上所安裝 Windows之安裝程式應用程式和修補程式的來源清單資訊。 來源清單函式可用來管理網路、URL 和媒體來源的來源清單屬性。 安裝程式可以從外部進程重新排序來源清單。

具有系統管理許可權的使用者和應用程式可以讀取和修改下列類型的來源清單資訊:

  • 系統上所有使用者所安裝應用程式和修補程式的來源清單。
  • 除了應用程式來源之外,修補程式來源的來源清單。
  • 除了網路來源之外,URL 和媒體來源的來源清單。
  • 來源清單屬性,例如MEDIAPACKAGEPATHDiskPromptLastUsedSource、LastUsedTypePackageName

來源清單函式可以藉由指定安裝內容和使用者內容來限制找到的來源清單範圍。 有三個可能的安裝內容:每位使用者 (非受控) 、每部電腦和每個使用者受控。 使用者內容可以是特定使用者或系統上的所有使用者。

非系統管理員無法修改存在於另一位使用者的個別使用者 (受控或非受控) 內容下的應用程式實例或修補程式來源清單。 非系統管理員可以修改安裝在下列內容下之應用程式實例或修補程式的來源清單:

系統管理員可以修改非系統管理員可以修改的任何來源清單。 此外,具有系統管理許可權的系統管理員和應用程式可以修改在下列內容下安裝之應用程式或修補程式的來源清單:

  • 每部電腦內容。
  • 他們自己的個別使用者 (Unmanaged) 或自己的每個使用者受控內容。
  • 另一位使用者的個別使用者受控內容。

注意

具有系統管理許可權的使用者和應用程式無法修改安裝在每個使用者 (Unmanaged) 內容中應用程式實例的來源清單。

 

管理產品和修補程式的網路和 URL 來源

使用 MsiSourceListAddSourceEx 函式,在特定內容中新增或重新排序修補程式或應用程式的網路和 URL 來源來源清單。 使用 dwCoNtext 參數來指定安裝內容。 使用 szUserSid 參數來指定使用者內容。

使用 MsiSourceListAddSourceEx 函式,為尚未套用至指定內容中任何應用程式的修補程式建立來源清單。 註冊修補程式以提升許可權時,這非常有用。 如需註冊修補程式提高許可權的詳細資訊,請參閱 修補Per-User受控應用程式

使用 MsiSourceListClearSource 函式,移除指定內容中應用程式或修補程式的現有來源。 移除應用程式或修補程式的目前來源會強制安裝程式在下一次需要來源時搜尋來源清單。

使用 MsiSourceListEnumSources 函式來列舉指定修補程式或應用程式之來源清單中的來源。

管理產品和修補程式的媒體來源

使用 MsiSourceListAddMediaDisk 函式來新增或更新已註冊應用程式或修補程式之媒體來源的磁片資訊。 每個專案都是以磁片識別碼唯一識別。 如果磁片已經存在,則會使用新的磁片區標籤和磁片提示值進行更新。 如果磁片不存在,則會使用新的值建立新的磁片專案。

使用 MsiSourceListClearMediaDisk 函式,在特定內容中移除應用程式或修補程式媒體來源下的現有已註冊磁片。

使用 MsiSourceListEnumMediaDisks 函式來列舉在應用程式或修補程式的媒體來源下註冊的磁片清單。

擷取和修改來源清單資訊

使用 MsiSourceListGetInfoMsiSourceListSetInfo 函式,擷取或修改特定內容中應用程式或修補程式來源清單的相關資訊。 使用 dwCoNtext 參數來指定安裝內容。 使用 szUserSid 參數來指定使用者內容。

您可以存取MEDIAPACKAGEPATHDiskPromptLastUsedSource、LastUsedTypePackageName等來源清單屬性。

注意

LastUsedType來源清單屬性只能讀取。 它無法使用 MsiSourceListSetInfo 函式直接設定。

 

清除完整的來源清單或強制來源解析

使用 MsiSourceListClearAllEx 函式,移除指定應用程式或修補程式實例指定來源類型的所有現有來源。 如果修補程式未由相同內容中的任何應用程式安裝,也會移除修補程式註冊。 使用 dwCoNtext 參數來指定安裝內容。 使用 szUserSid 參數來指定使用者內容。

使用 MsiSourceListForceResolutionEx 清除指定內容中應用程式或修補程式的最後使用來源專案。 此函式會移除名為 LastUsedSource的屬性註冊。 此函式不會影響已註冊的來源清單。 清除 LastUsedSource 註冊會強制安裝程式在下一次需要來源時針對已註冊的來源執行來源解析。