管理安裝來源

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

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

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

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

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

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

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

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

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

注意

具有系統管理許可權的使用者和應用程式,無法修改安裝在每個使用者 (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 註冊會強制安裝程式在下一次需要來源時,針對已註冊的來源執行來源解析。