Вопрос

Я занимаюсь разработкой для WinForms, использую XP и VS 2005 (древние, я знаю). Я хотел бы убедиться, что мое приложение может работать без прав администратора, но я слишком ленив, чтобы попытаться запустить VS без прав администратора, и я не хочу входить и выходить, чтобы протестировать мое приложение.

Есть ли способ, который я могу просто отладить как не администратор?

Есть ли набор атрибутов безопасности доступа к коду, которые я могу добавить к своему коду, которые заставят меня работать с тем же набором разрешений, что и у не-администратора?

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

Решение

Запустите VS как другого пользователя из текущего сеанса рабочего стола. См. Как включить и использовать " Запускать как " команда при запуске программ в Windows . Это означает, что вам не нужно входить и выходить.

Я бы посоветовал вам просто запустить целевое приложение от имени другого пользователя через RunAs, а затем подключить отладчик VS к процессу (при необходимости) через Debug > Присоединить к процессу ... пункт меню в Visual Studio.

Другие советы

Опираясь на ответ Фила, вы можете автоматизировать процесс, установив для запуска проекта:

Запустите внешнюю программу: c: \ windows \ system32 \ runas.exe

с аргументами командной строки: / noprofile / user: {MachineName} \ {UserName} {ApplicationName} .exe

К сожалению, я не думаю, что есть автоматический способ присоединить процесс к отладчику VS (из-за предупреждения безопасности), но с помощью условного вызова

#if (DEBUG) 
    System.Diagnostics.Debugger.Launch();
#endif

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

Подходя к этому с более фундаментальным изменением:

Если вы разрешите компьютеру разрешать одновременные сеансы удаленного рабочего стола ( Vista , XP , используйте Google для других), а затем инициируйте сеанс удаленного рабочего стола на 127.0.0.2, вы можете работать как совершенно другой пользователь в своей локальной системе, что позволяет вам делать все, что угодно хотел бы без необходимости переключаться между пользователями.

Обычно я работаю как пользователь без прав администратора, но инициирую сеанс удаленного рабочего стола как администратор всякий раз, когда мне нужно запустить административную задачу. Но вы можете сделать противоположное так же легко.

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