Запустите приложение WPF с помощью Admency Reate Wix

StackOverflow https://stackoverflow.com/questions/7356921

  •  28-10-2019
  •  | 
  •  

Вопрос

Я написал приложение WPF. Когда он устанавливается на клиентских машинах, им предложено для имени пользователя и пароля, чтобы у них были привилегии администратора для использования приложения.

Мне нужны привилегии администратора, потому что мое приложение открывает порты и записывает файлы в файловую систему.

Можно ли позволить любому пользователю запустить приложение, не будучи запрошенным для имени пользователя и пароля администратора и поднять приложение для запуска с администратором Privales?

Спасибо

Это было полезно?

Решение

Когда ваше приложение будет установлено, оно будет предпринимать права администратора, если монтаж Программа была отмечена для исполнения администратора. Обычно это требуется только в том случае, если вы хотите установить в местоположение, доступное для нескольких пользователей, например, в иерархии папки Program Files. MSI по умолчанию поднимет подсказку UAC, но легко Сделайте MSI с WIX, который не поднимает подсказку UAC.

Когда ваше приложение запускается (пользователем без прав администратора), оно запросит права администратора, если приложение Сам был помечен для исполнения администратора. Это отчасти под вашим контролем, но может переопределяться пользователями на клиентской машине.

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

Тем не менее, я считаю, что открытие порта действительно нуждается в правах администратора, если приложение делает что -то большее, чем запрос статистической информации.

Если вашему приложению действительно нужны права администратора, и вы не хотите, чтобы ваши пользователи, не являющиеся АДМИН, видели подсказку UAC во время выполнения программы, я предлагаю вам разделить ваше приложение на 2 части.

Первая часть - это служба Windows, которая работает под привилегированным пользователем, таким как Localsystem, и настроена на взаимодействие с программами настольных компьютеров. Эта услуга выполняет все задачи, связанные с администрацией, и необходимо будет настроить установщиком, который запрашивает права администратора.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top