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


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

Функция MsiAdvertiseScript копирует объявленный файл скрипта в указанные расположения.

Синтаксис

UINT MsiAdvertiseScriptW(
  [in] LPCWSTR szScriptFile,
  [in] DWORD   dwFlags,
  [in] PHKEY   phRegData,
  [in] BOOL    fRemoveItems
);

Параметры

[in] szScriptFile

Полный путь к файлу скрипта, созданному MsiAdvertiseProduct или MsiAdvertiseProductEx.

[in] dwFlags

Следующие битовые флаги из объявления элемента управления SCRIPTFLAGS. Значение dwFlags может быть сочетанием следующих значений.

Флаг Значение
SCRIPTFLAGS_CACHEINFO
0x001
Включите этот флаг, если значки должны быть созданы или удалены.
SCRIPTFLAGS_SHORTCUTS
0x004
Включите этот флаг, если необходимо создать или удалить ярлыки.
SCRIPTFLAGS_MACHINEASSIGN
0x008
Включите этот флаг, если продукт будет назначен компьютеру.
SCRIPTFLAGS_REGDATA_CNFGINFO
0x020
Включите этот флаг, если данные конфигурации и управления в данных реестра должны быть записаны или удалены.
SCRIPTFLAGS_VALIDATE_TRANSFORMS_LIST
0x040
Включите этот флаг для принудительной проверки преобразований, перечисленных в скрипте, для ранее зарегистрированных преобразований для этого продукта. Обратите внимание, что конфликты преобразования обнаруживаются с помощью сравнения строк, который не учитывает регистр и вычисляется между установками на пользователя и на компьютер во всех контекстах. Если список преобразований в скрипте не соответствует преобразованиям, зарегистрированным для продукта, функция возвращает ERROR_INSTALL_TRANSFORM_FAILURE.
SCRIPTFLAGS_REGDATA_CLASSINFO
0x080
Включите этот флаг, если сведения о объявлении в реестре, связанном с классами COM, необходимо записать или удалить.
SCRIPTFLAGS_REGDATA_EXTENSIONINFO
0x100
Включите этот флаг, если сведения о рекламе в реестре, связанном с расширением, должны быть записаны или удалены.
SCRIPTFLAGS_REGDATA_APPINFO
0x180
Включите этот флаг, если сведения о рекламе в реестре должны быть записаны или удалены.
SCRIPTFLAGS_REGDATA
0x1A0
Включите этот флаг, если сведения о рекламе в реестре должны быть записаны или удалены.

[in] phRegData

Раздел реестра, в котором записываются временные сведения о данных реестра. Если этот параметр имеет значение NULL, данные реестра помещаются в соответствующий раздел, исходя из того, является ли объявление на пользователя или на компьютер. Если этот параметр не имеет значения NULL, скрипт записывает данные реестра в указанный раздел реестра, а не обычное расположение. В этом случае приложение не будет объявляться пользователю.

Обратите внимание, что этот раздел реестра нельзя использовать при создании объявления продукта для пользователя или компьютера, так как поставщик раздела реестра обычно удаляет этот раздел. Раздел реестра находится за пределами обычных расположений реестра для сведений о конфигурации оболочки, класса и .msi и не находится в HKEY_CLASSES_ROOT. Этот раздел реестра предназначен только для получения временных сведений о данных реестра в скрипте.

[in] fRemoveItems

Значение TRUE, если указанные элементы должны быть удалены вместо создания.

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

Ценность Значение
ERROR_SUCCESS
Функция успешно завершена.
ERROR_ACCESS_DENIED
Вызывающий процесс не выполнялся в учетной записи LocalSystem.
Ошибка, связанная с действием
См. коды ошибок.
ошибка инициализации
Произошла ошибка, связанная с инициализацией.
ERROR_CALL_NOT_IMPLEMENTED
Эта функция доступна только в Windows 2000 и Windows XP.
 
 

Замечания

Процесс вызова этой функции должен выполняться в учетной записи LocalSystem. Чтобы объявить приложение для установки для каждого пользователя целевому пользователю, поток, вызывающий эту функцию, должен олицетворить целевого пользователя. Если поток, вызывающий эту функцию, не олицетворяет целевого пользователя, приложение объявляется всем пользователям для установки с повышенными привилегиями.

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Установщик 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 Server 2003 или Windows XP. Сведения о минимальном пакете обновления Windows, требуемом версией установщика Windows, см. в разделе "Требования к установщику Windows Run-Time".
целевая платформа Виндоус
заголовка msi.h
библиотеки Msi.lib
DLL Msi.dll

См. также

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