VS2017/VS 2019 Запуск от имени администратора из панели задач

Я хотел бы запускать Visual Studio 2017/2019 в качестве администратора, когда я выбираю проект из недавнего списка на панели задач, т.е. при открытии проекта с помощью ярлыков Explorer/Shell.

Я использовал настройку: свойства → ярлык → расширенный → запуск от имени администратора.

К сожалению, это не приводит к запуску devenv от имени администратора.

Любые идеи о том, как это исправить?

Ответ 1

  1. Закрыть все экземпляры Visual Studio
  2. Щелкните правой кнопкой мыши значок Visual Studio 2017/2019 в панели задач.
  3. Щелкните правой кнопкой мыши на Visual Studio 2017/2019 и выберите "Свойства".
  4. Нажмите кнопку "Открыть файл"
  5. Щелкните правой кнопкой мыши файл devenv.exe в этой папке.
  6. Выберите Устранение неполадок совместимости
  7. Выбрать программу устранения неполадок
  8. Выбрать программу требует дополнительных разрешений
  9. Нажмите "Проверить программу" и дождитесь запуска программы.
  10. Затем нажмите кнопку "Далее"
  11. Выберите "Да", сохраните эти настройки для этой программы.
  12. Нажмите Закрыть
  13. Повторно открыть свой проект из недавнего списка

Ответ 2

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

По какой-то странной причине я обнаружил, что в моем случае Windows не проверяет HKLM. Это было только глядя на HKCU. Итак, я установил оба. Но для других пользователей, которые входят в систему, HKLM должен пригодиться.

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

Это относится как к VS2017, так и к 2019. Если у вас установлен только один из них, удалите линии для другого.

В командной строке администратора:

reg.exe Add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe" /d "^ RUNASADMIN"
reg.exe Add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\devenv.exe" /d "^ RUNASADMIN"
reg.exe Add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe" /d "^ RUNASADMIN"

reg.exe Add "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe" /d "^ RUNASADMIN"
reg.exe Add "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\devenv.exe" /d "^ RUNASADMIN"
reg.exe Add "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe" /d "^ RUNASADMIN"

Или, если вы предпочитаете файл .reg:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Professional\\Common7\\IDE\\devenv.exe"="^ RUNASADMIN"
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Professional\\Common7\\IDE\\devenv.exe"="^ RUNASADMIN"
"C:\\Program Files (x86)\\Common Files\\Microsoft Shared\\MSEnv\\VSLauncher.exe"="^ RUNASADMIN"

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Professional\\Common7\\IDE\\devenv.exe"="^ RUNASADMIN"
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Professional\\Common7\\IDE\\devenv.exe"="^ RUNASADMIN"
"C:\\Program Files (x86)\\Common Files\\Microsoft Shared\\MSEnv\\VSLauncher.exe"="^ RUNASADMIN"