Повышение привилегий при удалении MSI с помощью Installshield и диалогового окна пользователя - PullRequest
4 голосов
/ 26 ноября 2008

Мне нужно добиться следующего: Удаление MSI должно отображать диалоговое окно пользователя, на основе которого установщик Windows знает, как именно удалить программное обеспечение (в этом случае: пользователь должен также выбрать, следует ли удалять базы данных).

Во время работы процесс удаления также будет запускать пользовательские действия. Все эти действия требуют административных привилегий.

Поэтому мне нужно, чтобы «Программа и компоненты» отображали либо полный пользовательский интерфейс «Удалить», либо диалоговое окно проверки подлинности для административных привилегий при нажатии «Изменить», а затем удаляли.

Как мне это сделать?

1 Ответ

4 голосов
/ 03 декабря 2008

Для справки:

Установка и удаление программ (ARP), соотв. Программы и компоненты (в Vista +), только показывает основной пользовательский интерфейс при удалении. Полный интерфейс необходим для отображения диалогов. Результат: здесь невозможно взаимодействие с пользователем.

Решение:

Если нет другого способа, кроме отображения диалогов об удалении, необходимо отключить функцию удаления и запустить процесс удаления с помощью параметра «Изменить», который будет отображать полный пользовательский интерфейс.

Дополнительная информация:

Если существуют пользовательские действия, требующие повышенных привилегий, их необходимо настроить как отложенные в системном контексте. Это заставит настройку повысить привилегии при вводе последовательности выполнения, тем самым показывая диалог UAC, требующий административных привилегий.

...