Можете ли вы заставить Visual Studio всегда запускаться от имени администратора в Windows 8?

В Windows 7 вы можете зайти в настройки совместимости программ и установить флажок, чтобы всегда запускаться от имени администратора. Есть ли подобная опция в Windows 8?

Я всегда отключал UAC на своих машинах и делал то же самое после обновления до Windows 8, или так я думал. Оказывается нет off опция, только отключение уведомлений.

Это означает, что ничто не запускается от имени администратора, несмотря на то, что он входит в группу администраторов. Мне нужно продолжать закрывать и снова открывать мои консоли \Visual Studio, когда я пытаюсь отладить (присоединиться к процессу, а не F5), что очень расстраивает.

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

13 ответов

Решение

В Windows 8 и 10 вы должны щелкнуть правой кнопкой мыши devenv.exe и выберите "Устранение неполадок совместимости".

  1. Выберите "Устранение неполадок программы"
  2. Проверьте "Программа требует дополнительных разрешений"
  3. Нажмите кнопку "Далее"
  4. Нажмите "Проверить программу..."
  5. Дождитесь запуска программы
  6. Нажмите кнопку "Далее"
  7. Выберите "Да, сохранить эти настройки для этой программы"
  8. Нажмите "Закрыть"

Если при открытии Visual Studio он просит сохранить изменения в devenv.sln, посмотрите этот ответ, чтобы отключить его:

Отключить диалоговое окно сохранения решения Visual Studio devenv

После просмотра Super User я нашел этот вопрос, который объясняет, как это сделать с помощью ярлыка на стартовом экране. Точно так же вы можете сделать то же самое, когда Visual Studio закреплен на панели задач. В любом месте:

  1. Щелкните правой кнопкой мыши значок Visual Studio
  2. Идти к Properties
  3. Под Shortcut tab Выбрать Advanced
  4. Проверьте Run as administrator

настройка операции по умолчанию в режиме администратора

В отличие от Windows 7, это работает, только если вы запускаете приложение из ярлыка, который вы изменили. После обновления обоих ярлыков Visual Studio он также работает при открытии файла решения из Проводника.

Предупреждение об обновлении: похоже, что один из основных недостатков в работе Visual Studio с повышенными разрешениями заключается в том, что Explorer не работает с ними, и вы не можете перетаскивать файлы в Visual Studio для редактирования. Вам нужно открыть их через диалог открытия файла. Также нельзя дважды щелкнуть любой файл, связанный с Visual Studio, и открыть его в Visual Studio (помимо возможных решений), поскольку вы получите сообщение об ошибке, в котором говорится There was a problem sending the command to the program. Как только я снимаю флажок, чтобы всегда начинать с повышенными правами доступа (используя VSCommands), я могу открывать файлы напрямую и помещать их в открытый экземпляр Visual Studio.

Обновление для дерзких: несмотря на то, что не было пользовательского интерфейса для отключения UAC, как в прошлом, как я видел по крайней мере, вы все равно можете сделать это через реестр. Ключ для редактирования:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
EnableLUA - DWORD 1-Enabled, 0-Disabled

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

ПРИМЕЧАНИЕ: в последних версиях VS (2015+) кажется, что это расширение больше не существует / имеет эту функцию.


Вы также можете скачать VSCommands для VS2012 от Squared Infinity, который имеет функцию, позволяющую изменить его для запуска с правами администратора (а также некоторые другие интересные элементы)

Обновить

Команды можно установить из строки меню Visual Studio, используя Tools -> Extensions and Updates выбирающий Online и в поисках vscommands где тогда выбираешь VSCommands for Visual Studio 20XX в зависимости от того, используете ли вы 2012 или 2013 (или более позднюю версию), загрузите и установите.

  1. В меню "Пуск" Windows 8 выберите "Все приложения".
  2. Щелкните правой кнопкой мыши значок Visual Studio 2010
  3. Выберите Открыть местоположение файла
  4. Щелкните правой кнопкой мыши значок ярлыка Visual Studio 2010
  5. Нажмите кнопку Дополнительно
  6. Установите флажок Запуск от имени администратора
  7. Нажмите ОК

Это копия моего ответа на аналогичный пост на SuperUser:

Вариант 1. Настройте VSLauncher.exe и DevEnv.exe на постоянную работу от имени администратора.

Чтобы Visual Studio всегда запускалась от имени администратора при открытии любого файла.sln:

  1. Перейдите к C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe,
  2. Щелкните правой кнопкой мыши на VSLauncher.exe и выберите Устранение неполадок совместимости.
  3. Выберите программу устранения неполадок.
  4. Отключить Программа требует дополнительных разрешений и нажмите Далее.
  5. Нажмите кнопку Проверить программу..., чтобы запустить VS.
  6. Нажмите "Далее", затем нажмите " Да", сохраните эти настройки для этой программы, а затем нажмите кнопку " Закрыть".

Чтобы Visual Studio всегда запускалась от имени администратора при открытии Visual Studio напрямую, проделайте то же самое с файлами DevEnv.exe. Эти файлы расположены по адресу:

Visual Studio 2010

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe

Visual Studio 2012

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe

Visual Studio 2013

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe

Visual Studio 2015

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe

Visual Studio 2017

C:\Program Files (x86)\Microsoft Visual Studio\2017\[VS SKU]\Common7\IDE\devenv.exe

Вариант 2 - использовать расширение VSCommands для Visual Studio

Установите бесплатное расширение VSCommands для Visual Studio (оно находится в галерее расширений Visual Studio), а затем настройте его так, чтобы Visual Studio всегда запускался с правами администратора, для этого перейдите в Инструменты -> VSCommands -> Параметры -> Расширения IDE -> Общие и установите флажок Always start Visual Studio with elevated permissions и нажмите кнопку Сохранить.

Примечание. VSCommands в настоящее время недоступны для VS 2015, но на их сайте говорится, что они работают над его обновлением для поддержки VS 2015.

Мое мнение

Я предпочитаю вариант 2, потому что:

  • это также позволяет вам легко отключить эту функцию.
  • VSCommands поставляется с множеством других замечательных функций, поэтому я всегда его устанавливаю.
  • это проще сделать, чем вариант 1.

VSCommands не работали для меня и вызвали проблему, когда я установил Visual Studio 2010 помимо Visual Studio 2012.

После некоторых экспериментов я нашел трюк:

Идти к HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers и добавьте запись с именем "C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe" и значение "RUNASADMIN",

Это должно решить вашу проблему. Я также написал об этом в блоге.

Я знаю, что это немного поздно, но я просто понял, как это сделать, изменив (читай, "взлом") манифест файла devenv.exe. Я должен был прийти сюда первым, потому что заявленные решения кажутся немного проще и, вероятно, больше поддерживаются Microsoft.:)

Вот как я это сделал:

  1. Создайте проект в VS под названием "Exe Manifests". (Я думаю, что любая версия будет работать, но я использовал 2013 Pro. Кроме того, не имеет значения, как вы это называете.)
  2. "Добавить существующий элемент" в проект, найдите исполняемый файл Visual Studio и нажмите "ОК". В моем случае это было "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe".
  3. Дважды щелкните файл "devenv.exe", который теперь должен быть указан как файл в вашем проекте. Это должно вызвать exe в редакторе ресурсов.
  4. Разверните узел "RT_MANIFEST", затем дважды щелкните "1" под ним. Это откроет манифест исполняемого файла в бинарном редакторе.
  5. Найдите запрашиваемый тег ExectionLevel и замените "asInvoker" на "requireAdministrator". А ля: <requestedExecutionLevel level="requireAdministrator" uiAccess="false"></requestedExecutionLevel>
  6. Сохраните файл.

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

Как я уже сказал, это, вероятно, не правильный способ сделать это, но, похоже, работает. Если кто-то знает о каких-либо негативных последствиях или необходимом ударе запястья, пожалуйста, присоединяйтесь!

Щелкните правой кнопкой мыши на Visual Studio и выберите запуск от имени администратора при каждом открытии.

Также вы можете проверить совместимость устранения неполадок

  • Щелкните правой кнопкой мыши Visual Studio> Выбрать Устранение неполадок совместимости.
  • Выберите "Устранение неполадок программы".
  • Проверка Программа требует дополнительных разрешений.
  • Нажмите на Проверить программу.
  • Подождите немного до запуска программы. Нажмите Далее.
  • Выберите Да, сохранить эти настройки для этой программы.
  • Ждите, чтобы решить проблему.
  • Убедитесь, что окончательный статус зафиксирован. Нажмите Закрыть.

Проверьте ссылку шагов подробно.

Ничего из этого у меня не сработало. Способ, которым я всегда запускал в качестве администратора, заключался в изменении реестра.

      1. Just start regedit.exe.
2. Navigate to Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
3. Right Click New->String Value
4. Add C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\devenv.exe (or the correct path for your system)
5. Right Click on this entry and select Modify.
6. Add for Value Data: ~ RUNASADMIN.

ВСЕ СДЕЛАНО.

Если вы используете Total Commander, как и я, вы должны сделать то же самое, чтобы Total Commander всегда запускался от имени администратора. Затем вы сможете открыть файл sql двойным щелчком в том же экземпляре управления SQL Server или открыть любой файл Visual Studio двойным щелчком и не открывать несколько экземпляров.

Эта программа устранения неполадок добавляет значение реестра в HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers для любой программы, поэтому, если вы хотите написать ее напрямую, вы можете.

Я нашел простой способ сделать это в EightForums ( вариант 8), создать строковое значение в HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers. Установите имя для пути к программе и значение ~RUNASDMIN. В следующий раз, когда вы откроете программу, она откроется как администратор.

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
    "C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\Common7\\IDE\\devenv.exe"="~RUNASADMIN"

Просто найдите программу в каталоге Program Files (или в другом месте). Щелкните правой кнопкой мыши по файлу EXE, на второй вкладке внизу установите флажок для принудительного запуска этой программы с правами администратора. Отныне все ярлыки исполняемого файла будут запущены с правами администратора:)

Visual Studio автоматически поднимается, если в манифесте приложения проекта указан административный requestedExecutionLevelтак что вам просто нужно отредактировать это. Visual Studio обнаружит это и при необходимости перезапустит себя с правами администратора.

Другие вопросы по тегам