InstallShield 2012 Spring Express: как я могу выполнить настраиваемое действие от имени администратора при удалении?

Я использую InstallShield 2012 Spring Express. Я наконец понял, что во время установки моего приложения я могу запустить настраиваемое действие с расширенным процессом EXE (для манифеста приложения установлено значение «requireAdministrator»), если я установлю для его свойства «Выполнение в сценарии» значение «Отложенное выполнение в системе» Контекст ».

Это мило.

Но теперь я должен иметь возможность делать то же самое во время удаления. Пока что даже на платной версии InstallShield 2012 Spring Express я не могу заставить ее работать.

Во-первых, в разделе «Пользовательские действия во время удаления» всего две записи: «До изменений системы» и «После изменений системы».

Я не пробовал добавлять свое собственное действие в «После системных изменений», потому что EXE, который мне нужно запустить, является частью моего пакета (и, следовательно, к тому времени должен был быть удален). И поэтому я добавил его в «До системных изменений». . " Теперь по какой-то причине, когда я добавляю его в «Перед изменениями системы», нет опции «Выполнение в сценарии». И поскольку у меня нет этой опции, когда моя деинсталляция пытается запустить процесс EXE с повышенными привилегиями, он терпит неудачу с ошибкой 1721 ... это точно такая же ошибка, которую я получал во время установки, пока я не изменил "In -Исполнение сценария »параметр« Отложенное выполнение в системном контексте ».

Итак, как мне заставить мой процесс EXE с повышенными привилегиями работать правильно во время удаления? Не может ли InstallShield справиться с этим должным образом?

Спасибо, JP


person Joey    schedule 16.03.2013    source источник


Ответы (1)


Вы можете создать модуль слияния, используя XML установщика Windows, чтобы правильно запланировать и упорядочить свои настраиваемые действия. Затем InstallShield express может использовать этот модуль. Видеть:

Расширение InstallShield с помощью XML установщика Windows - Сертификаты

Если вам неудобны инструменты микширования (это похоже на написание библиотеки DLL в VB.NET и обращение к ней в EXE, написанном на C #), вам придется перейти на InstallShield Professional.

person Christopher Painter    schedule 18.03.2013