Библиотеки Dynamic-Link (установщик Windows)
Пользовательское действие может вызывать функцию, определенную в библиотеке динамической компоновки (DLL), написанной на языке C или C++. Библиотека DLL может существовать как файл, установленный во время текущей установки, или как временный двоичный поток, исходящий из двоичной таблицы базы данных установки.
Обратите внимание, что все вызываемые функции, включая пользовательские действия в библиотеках DLL, должны указывать соглашение о вызовах __stdcall. Например, чтобы вызвать CustomAction, используйте следующую команду.
#include <windows.h>
#include <msi.h>
#include <Msiquery.h>
#pragma comment(lib, "msi.lib")
UINT __stdcall CustomAction(MSIHANDLE hInstall)
Дополнительные сведения см. в разделе Доступ к текущему сеансу установщика из пользовательского действия.
Следующие типы настраиваемых действий вызывают библиотеку динамической компоновки.
Тип настраиваемого действия | Описание |
---|---|
Тип настраиваемого действия 1 | DLL-файл, хранящийся в потоке двоичной таблицы. |
Тип настраиваемого действия 17 | DLL-файл, установленный вместе с продуктом. |
Примечание
Чтобы использовать COM, необходимо вызвать CoInitializeEx в настраиваемом действии. Не прекращайте работу, если обнаружите, что поток уже инициализирован. Например, поток инициализируется в установке для каждого компьютера, но не при установке на пользователя.
Сведения обо всех типах настраиваемых действий и их кодировании в таблице CustomAction см. в разделе Сводный список всех типов настраиваемых действий.