Управление источниками установки

Пользователи и приложения с правами администратора могут извлекать и изменять информацию о списках источников сети, URL-адресах и источниках медиа для приложений и патчей установщика Windows в системе.

Установщик Windows 2.0: Не поддерживается. Администраторы не могут считывать, изменять порядок или заменять записи в исходном списке и не могут изменять или извлекать свойства исходного списка. Можно управлять источниками сети, но не URL-адресами или источниками мультимедиа. Администраторы могут управлять списками источников только для приложений, установленных для каждого компьютера, или для приложений, установленных для текущего пользователя. Это запрещает администраторам использовать версии, предшествующие установщику Windows версии 3.0, управлять сведениями о списке источников для всех пользователей в системе.

Установщик Windows 3.0 и более поздних версий: пользователи и приложения с правами администратора могут получать и изменять сведения о списке источников для приложений установщика Windows и исправлений, установленных в системе для всех пользователей. Функции исходного списка можно использовать для управления исходными списками и свойствами списка источников для сетевых, URL-адресов и источников мультимедиа. Установщик может изменить порядок исходных списков из внешнего процесса.

Пользователи и приложения с правами администратора могут считывать и изменять следующие типы сведений о исходном списке:

  • Исходные списки приложений и исправлений, установленных для всех пользователей в системе.
  • Исходные списки источников исправлений, которые существуют отдельно от источников приложения.
  • Исходные списки для источников URL и медиаресурсов, которые существуют отдельно от сетевых источников.
  • Свойства исходного списка, такие как MEDIAPACKAGEPATH, DiskPrompt, LastUsedSource, LastUsedTypeи PackageName.

Функции исходного списка могут ограничить область найденных исходных списков, указав контекст установки и контекст пользователя. Существует три возможных контекста установки: для каждого пользователя (неуправляемый), для компьютера и для каждого пользователя (управляемый). Контекст пользователя может быть конкретным пользователем или всеми пользователями в системе.

Неадминистраторы не могут изменять список источников экземпляра приложения или патча, который существует в управляемом или неуправляемом контексте другого пользователя. Не администраторы могут изменять списки источников экземпляра приложения или патча, установленных в следующих контекстах:

  • Собственный контекст на каждого отдельного пользователя (неподконтрольного).
  • Контекст компьютера, но только если DisableBrowse, AllowLockdownBrowseи AlwaysInstallElevated политики позволяют им искать источник приложений или исправлений.
  • Собственный управляемый контекст для каждого пользователя, но только если политики DisableBrowse, AllowLockdownBrowseи AlwaysInstallElevated позволяют им просматривать источники приложений или обновлений.

Администраторы могут изменять любой исходный список, который может изменить неадминистратор. Кроме того, администраторы и приложения с правами администратора могут изменять исходные списки приложения или исправления, установленные в следующих контекстах:

  • Контекст для каждой машины.
  • Собственный для каждого пользователя (неуправляемый) или собственный управляемый контекст для каждого пользователя.
  • Управляемый контекст другого пользователя на пользователя.

Заметка

Пользователи и приложения с правами администратора не могут изменить список исходников экземпляра приложения или патча, установленного в персональном (неуправляемом) контексте другого пользователя.

 

Управление сетевыми и URL-источниками для продуктов и обновлений

Используйте функцию MsiSourceListAddSourceEx, чтобы добавить или изменить порядок исходного списка источников сети и URL-адресов для исправления или приложения в определенном контексте. Используйте параметр dwContext, чтобы указать контекст установки. Используйте параметр szUserSid, чтобы указать контекст пользователя.

Используйте функцию MsiSourceListAddSourceEx, чтобы создать список источников для исправления, которое еще не применено к какому-либо приложению в указанном контексте. Это может быть полезно при регистрации исправления для получения повышенных привилегий. Для получения дополнительной информации о регистрации повышенных привилегий для патча см. Патчинг Per-User Управляемых приложений.

Используйте функцию MsiSourceListClearSource для удаления существующего источника приложения или исправления в указанном контексте. Удаление текущего источника для приложения или исправления заставляет установщик искать в списке источников следующий раз, когда требуется источник.

Используйте функцию MsiSourceListEnumSources для перечисления источников в исходном списке указанного исправления или приложения.

Управление медиа-источниками для продуктов и патчей

Используйте функцию MsiSourceListAddMediaDisk, чтобы добавить или обновить сведения о диске источника носителя зарегистрированного приложения или исправления. Каждая запись однозначно определяется идентификатором диска. Если диск уже существует, он обновляется с помощью новой метки тома и значений запроса диска. Если диск не существует, создается новая запись диска с новыми значениями.

Используйте функцию MsiSourceListClearMediaDisk, чтобы удалить существующий зарегистрированный диск в источнике мультимедиа для приложения или исправления в определенном контексте.

Используйте функцию MsiSourceListEnumMediaDisks, чтобы перечислить список дисков, зарегистрированных в источнике мультимедиа для приложения или исправления.

Получение и изменение сведений о списке источников

Используйте функции MsiSourceListGetInfo и MsiSourceListSetInfo для получения или изменения сведений о исходном списке для приложения или исправления в определенном контексте. Используйте параметр dwContext, чтобы указать контекст установки. Используйте параметр szUserSid, чтобы указать контекст пользователя.

Свойства исходного списка, такие как MEDIAPACKAGEPATH, DiskPrompt, LastUsedSource, LastUsedTypeи PackageName можно получить.

Заметка

Свойство исходного списка LastUsedType можно считывать только. Его нельзя задать непосредственно с помощью функции MsiSourceListSetInfo.

 

Очистка полного списка источников или принудительное разрешение источника

Используйте функцию MsiSourceListClearAllEx, чтобы удалить все существующие источники заданного типа источника для указанного экземпляра приложения или исправления. Регистрация исправлений также удаляется, если исправление не установлено любым приложением в том же контексте. Используйте параметр dwContext, чтобы указать контекст установки. Используйте параметр szUserSid, чтобы указать контекст пользователя.

Используйте MsiSourceListForceResolutionEx для очистки последней используемой исходной записи для приложения или исправления в указанном контексте. Эта функция удаляет регистрацию свойства, называемого LastUsedSource. Эта функция не влияет на зарегистрированный список источников. Очистка регистрации LastUsedSource заставляет установщик выполнять разрешение источника для зарегистрированных источников в следующий раз, когда потребуется источник.