2015-06-17 2 views
1

Я создал приложение для форм Windows, которое выполняет некоторые функции. Проблема заключается в том, когда я развертываю приложение:Запуск приложения WinForms без прав администратора?

  1. Если я развернусь с помощью ClickOnce, тогда все будет хорошо. После установки приложение winforms запускается без запроса пароля администратора.
  2. Если я развертываю проект Visual Studio Setup Project и создаю MSI-установку, то после его установки каждый раз, когда он запускается, требуется пароль администратора.

Я хочу развернуть с помощью проекта установки Visual Studio (MSI), но не хочу, чтобы программное обеспечение запрашивало повышенные привилегии.

Установка MSI не запрашивает пароль, но установленная программа выполняет.

+0

При установке в качестве установки MSI, вам нужны права администратора для установки, но вы не должны иметь права администратора для запуска программы. Можете ли вы уточнить, что программа автоматически запрашивает пароль администратора, что у вас нет встроенного манифеста UAC, а имя exe не содержит установки или установки. – sgmoore

+1

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

+0

@ThorstenDittmar Я искал это, но и ярлык, и exe запрашивают административную привилегию. – Sunny

ответ

1

В основном вам нужно отредактировать (или добавить, если у вас его еще нет) файл app.manifest, а затем использовать requestExecutionLevel для заказа того, что требуется для контекста выполнения.

Подробнее об этом в MSDN

+0

Вам не обязательно это делать, поскольку по умолчанию приложениям не требуются повышенные права. –

1

Вам нужно создать и внедрить манифест приложения (UAC) в приложении, как описано here. Если вы не хотите этого делать, ClickOnce может быть решением.

MSDN имеет некоторые полезные information по этой теме, а именно:

Воздействие на компьютер пользователя. При развертывании Windows Installer приложения часто полагаются на разделяемые компоненты, с возможностью конфликтов конфликтов версий ; при развертывании ClickOnce каждое приложение является автономным и не может вмешиваться в другие приложения.

Права безопасности. Для развертывания установщика Windows требуется административных разрешений и допускается только ограниченная установка пользователя; Развертывание ClickOnce позволяет пользователям, не являющимся администраторами, устанавливать, а предоставляет только разрешения на доступ к кодовому доступу, необходимые для приложения .

+0

Обычно приложения работают без повышенных прав. Вам нужно будет создать манифест, если вы хотите, чтобы приложение выполнялось с повышенными правами. –

2

вам нужно работать с

UAC повышенные разрешения

. посмотрите на эту Ms документации link

Кроме того, этот проект делает некоторые R & D с UAC example

Надеюсь, это поможет

Смежные вопросы