Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Обратите внимание, что нельзя указать порядок, в котором установщик регистрирует или отменяет регистрацию библиотек DLL с помощью действий SelfRegModules и SelfUnRegModules. Эти действия регистрируют все модули, перечисленные в таблице SelfReg. Установщик не регистрирует файлы .exe самостоятельно.
Чтобы указать порядок, в котором инсталлятор регистрирует или отменяет регистрацию модулей, необходимо использовать два пользовательских действия для каждого модуля. Одно настраиваемое действие для DllRegisterServer и второй для DllUnregisterServer. Затем эти пользовательские действия необходимо разместить в таблице InstallExecuteSequence в той точке последовательности, где библиотека DLL должна быть зарегистрирована или разрегистрирована.
В следующем примере показано, как создать базу данных для планирования самостоятельной регистрации библиотеки DLL в определенной точке последовательности действий.
Таблицу файлов (частично)
Файл | Компонент_ | Имя файла | Последовательность |
---|---|---|---|
mydll | мойКомпонент | Mydll.dll | 13 |
таблица компонентов (частичная)
Компонент | ComponentId | Каталог_ | KeyPath |
---|---|---|---|
мойКомпонент | {GUID} | myFolder | mydll |
Каталог | Каталог_Родитель | DefaultDir |
---|---|---|
TARGETDIR | SourceDir | |
myFolder | TARGETDIR | myFolder |Моя папка |
Действие | Тип | Источник | Цель |
---|---|---|---|
mydllREG | 3170 | myFolder | "[SystemFolder]msiexec" /y "[#mydll]" |
mydllUNREG | 3170 | myFolder | "[SystemFolder]msiexec" /z "[#mydll]" |
Таблица InstallExecuteSequence (частично)
Действие | Состояние | Последовательность |
---|---|---|
SelfUnregModules | 2200 | |
mydllUNREG | $myComponent=2 | 2201 |
Удалить файлы | 3500 | |
InstallFiles | 4000 | |
SelfRegModules | 6500 | |
mydllREG | $myComponent>2 | 6501 |