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


Функция MsiSourceListSetInfoA (msi.h)

Функция MsiSourceListSetInfo задает сведения об исходном списке для продукта или исправления в определенном контексте.

Синтаксис

UINT MsiSourceListSetInfoA(
  [in]           LPCSTR            szProductCodeOrPatchCode,
  [in, optional] LPCSTR            szUserSid,
  [in]           MSIINSTALLCONTEXT dwContext,
  [in]           DWORD             dwOptions,
  [in]           LPCSTR            szProperty,
  [in]           LPCSTR            szValue
);

Параметры

[in] szProductCodeOrPatchCode

Идентификатор GUID productcode или patch продукта или исправления. Используйте строку, завершаемую null. Если строка длиннее 39 символов, функция завершается ошибкой и возвращает ERROR_INVALID_PARAMETER. Этот параметр не может иметь значение NULL.

[in, optional] szUserSid

Этот параметр может быть строковым идентификатором безопасности, указывающим учетную запись пользователя, содержащую продукт или исправление. Идентификатор безопасности не проверяется и не разрешается. Неправильный идентификатор безопасности может возвращать ERROR_UNKNOWN_PRODUCT или ERROR_UNKNOWN_PATCH. При ссылке на контекст компьютера szUserSID должен иметь значение NULL , а dwContextMSIINSTALLCONTEXT_MACHINE.

Тип идентификатора безопасности Значение
NULL
NULL обозначает пользователя, выполнившего вход в текущий момент. При ссылке на текущую учетную запись пользователя szUserSID может иметь значение NULL , а dwContextMSIINSTALLCONTEXT_USERMANAGED или MSIINSTALLCONTEXT_USERUNMANAGED.
Идентификатор безопасности пользователя
Указывает перечисление для конкретного пользователя в системе. Пример идентификатора безопасности пользователя : "S-1-3-64-2415071341-1358098788-3127455600-2561".
 
Примечание Специальная строка идентификатора безопасности "S-1-5-18" (система) не может использоваться для перечисления продуктов или исправлений, установленных как на компьютере. Если задать значение SID в "S-1-5-18", возвращается значение "ERROR_INVALID_PARAMETER".
 
Примечание Не следует использовать специальную строку идентификатора безопасности "S-1-1-0" (все). Установка значения SID в "S-1-1-0" завершается ошибкой и возвращает ERROR_INVALID_PARAM.
 

[in] dwContext

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

Тип контекста Значение
MSIINSTALLCONTEXT_USERMANAGED
Экземпляр продукта или исправления существует в контексте, управляемом пользователем.
MSIINSTALLCONTEXT_USERUNMANAGED
Экземпляр продукта или исправления существует в неуправляемом контексте для каждого пользователя.
MSIINSTALLCONTEXT_MACHINE
Экземпляр продукта или исправления существует в контексте для каждого компьютера.

[in] dwOptions

Значение dwOptions указывает значение szProductCodeOrPatchCode.

Если задано свойство LastUsedSource, этот параметр также указывает тип источника в виде сети или URL-адреса. В этом случае параметр dwOptions должен быть сочетанием одной из следующих констант MSISOURCETYPE_ и одной из следующих констант MSICODE_ .

Flag Значение
MSISOURCETYPE_NETWORK
Источником является тип сети.
MSISOURCETYPE_URL
Источником является тип URL-адреса.
MSICODE_PRODUCT
szProductCodeOrPatchCode — это GUID кода продукта.
MSICODE_PATCH
szProductCodeOrPatchCode — это GUID кода исправления.

[in] szProperty

Параметр szProperty указывает значение свойства, которое необходимо задать. Не все свойства, которые можно получить с помощью MsiSourceListGetInfo , можно задать с помощью вызова MsiSourceListSetInfo. Значение szProperty может быть одним из следующих значений.

Имя Значение
INSTALLPROPERTY_MEDIAPACKAGEPATH
MediaPackagePath
Путь относительно корня установочного носителя.
INSTALLPROPERTY_DISKPROMPT
"DiskPrompt"
Шаблон запроса, используемый при запросе пользователя на установочный носитель.
INSTALLPROPERTY_LASTUSEDSOURCE
LastUsedSource
Последнее используемое исходное расположение для продукта. Если источник не зарегистрирован, функция вызывает MsiSourceListAddSourceEx , чтобы зарегистрировать его. После успешной регистрации функция задает источник как LastUsedSource.
INSTALLPROPERTY_PACKAGENAME
"PackageName"
Имя пакета установщика Windows или пакета исправлений в источнике.

[in] szValue

Новое значение свойства. Проверка нового значения не выполняется. Это значение не может иметь значение NULL. Это может быть пустая строка.

Возвращаемое значение

Функция MsiSourceListSetInfo возвращает следующие значения.

Значение Значение
ERROR_ACCESS_DENIED
Пользователь не имеет возможности задать исходный список для указанного продукта.
ERROR_BAD_CONFIGURATION
Данные конфигурации повреждены.
ERROR_INSTALL_SERVICE_FAILURE
Не удалось получить доступ к службе установщика Windows.
ERROR_INVALID_PARAMETER
В функцию передан недопустимый параметр.
ERROR_SUCCESS
Свойство задано.
ERROR_UNKNOWN_PATCH
Исправление не найдено.
ERROR_UNKNOWN_PRODUCT
Продукт не найден.
ERROR_UNKNOWN_PROPERTY
Исходное свойство не найдено.
ERROR_FUNCTION_FAILED
Непредвиденный внутренний сбой.

Комментарии

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

Пользователи, не являющиеся администраторами, не могут изменять установку продукта или экземпляра исправления, который существует в контексте для каждого пользователя другого пользователя (управляемого или неуправляемого). Они могут изменять установку продукта или экземпляра исправления, который существует в их собственном неуправляемом контексте для каждого пользователя. Они могут изменять установку продукта или экземпляра исправлений в контексте компьютера или в собственном контексте, управляемом пользователем, только если им разрешено просматривать продукт или источник исправлений. Пользователям можно включить поиск источников, задав политику. Дополнительные сведения см. в разделах Политики DisableBrowse, AllowLockdownBrowse и AlwaysInstallElevated .

Исключением из приведенного выше правила является установка параметра LastUsedSource для одного из зарегистрированных источников. Если источник уже зарегистрирован, неадминистратор может задать для LastUsedSource собственные установки (управляемые или неуправляемые) и установки для каждого компьютера, независимо от политик.

Примечание

Заголовок msi.h определяет MsiSourceListSetInfo в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Установщик Windows 5.0 в Windows Server 2012, Windows 8, Windows Server 2008 R2 или Windows 7. Установщик Windows 4.0 или Установщик Windows 4.5 в Windows Server 2008 или Windows Vista. Сведения о минимальном пакете обновления Windows, необходимом для версии установщика Windows, см. в статье Требования к установщику Windows Run-Time.
Целевая платформа Windows
Header msi.h
Библиотека Msi.lib
DLL Msi.dll

См. также раздел

Контекст установки

MsiSourceListGetInfo

Не поддерживается в установщике Windows 2.0 и более ранних версий

ProductCode