Поделиться через


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

Пользователи и приложения с правами администратора могут получать и изменять сведения о сети, 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 .

Примечание

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

 

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

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

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