Обходной путь для «Приложения и функции» в Windows 10 при запуске однопользовательского удаления повышен - PullRequest
1 голос
/ 05 февраля 2020

Когда пользователи пытаются удалить собственную однопользовательскую установку (например, установленную с использованием наименьших привилегий нет и HKCU ) с помощью «Установка и удаление программ» в Панель управления, все работает нормально (то есть пользователи, не являющиеся администраторами, могут удалить свою установку без прав администратора).

Однако уровень удаления будет повышен, когда пользователи запустят его из 'Приложения и функции ' (Windows 10).

Кажется, это известная ошибка Windows 10:
Как предотвратить повышение уровня удаления для пользователя Standard Windows 10?

Есть ли способ обойти эту проблему, когда деинсталлятор Inno Setup запускается из «Приложения и функции» ? Свяжите этот NSIS Обходной путь для Windows ошибки повышения прав деинсталлятора .

1 Ответ

0 голосов
/ 05 февраля 2020

Вам придется сделать именно то, что делает этот взломщик NSIS .

  1. Узнайте, что такое пользователь Windows GUI (и предположим, что вы следует удалить как этот пользователь). Кроме того, вы можете сохранить имя пользователя в некотором файле в папке установки.

  2. Повторно запустить программу установки от имени этого пользователя. Этот хак использует плагин NSD StdUtils с его функцией ExecShellAsUser. Может быть, DLL можно использовать из Inno Setup. Если нет, вы можете, по крайней мере, повторно использовать его код.

Все это очень много, чтобы задать в одном вопросе. Если у вас есть определенные c проблемы, попробуйте задать более конкретные c вопросы.


Более простой альтернативой было бы предотвращение удаления при выполнении от имени другого пользователя и показ предложения пользователю go вместо панели управления.

По аналогичному вопросу см. Проблема деинсталлятора со стандартным Windows пользователем .

...