VS2017 / VS 2019 Запуск від імені адміністратора з панелі завдань


98

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

Я використовував налаштування: властивості -> ярлик -> розширений -> запуск від імені адміністратора.

На жаль, це не призводить до того, що devenv працює як адміністратор.

Будь-які ідеї щодо того, як це виправити?

Відповіді:


262
  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. Відкрийте свій проект із останнього списку

4
це також однакове рішення для всіх попередніх версій Visual Studio з тих пір, як був введений селектор версій vs. той, хто не підтримує, або робить це особистим, або відмовляється прийняти статус-кво. дякую за підтвердження того, що цей метод все ще працює, мені просто потрібно було перевірити, перш ніж намагатись :)
Шон Вільсон

6
ви думаєте, що у MS буде настройка проти - "завжди працювати як адміністратор" - оскільки будь-яка нетривіальна розробка вимагає цього
pm100

1
@ pm100 Ну так чи інакше є VSComndands VS Addin, які мають це налаштування. Але я погоджуюсь з тим, що характер веб-розробки та підтримки IIS у VS повинен забезпечувати це вбудоване. Якщо IIS використовується для рішень, вам потрібні права адміністратора. VS, можливо, повинен виявити це автоматично і перезапустити запит на них.
Robert Koritnik

Просто FYI: це змушує VS запитувати запуск адміністратора кожного разу, коли він запускається.
Джефф Б

1
Я просто натрапляю на це, коли мені потрібно встановити нову версію VS ... Тепер у 2019 році все те саме рішення все ще працює
moi_meme

16

Ефектом кроків у відповіді Стіва є додавання єдиного значення реєстру. Ви можете уникнути всіх цих кроків, просто додавши це значення реєстру через командний рядок. З якихось причин я виявив, що для набрання чинності потрібно трохи часу, але вихід із системи / вхід повинен надати чинності негайно.

З якоїсь дивної причини я виявив, що в моєму випадку Windows не перевіряла HKLM. Це дивився лише на HKCU. Тож я встановив обидва. Але для інших користувачів, які входять в систему, HKLM повинен стати в нагоді.

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

Це піклується як про VS2017, так і про 2019 рік. Якщо у вас встановлений лише один, видаліть рядки для іншого.

Крім того, якщо ви змінили папку, до якої встановлюється VS, змініть шлях до devenv.exe, або просто використовуйте відповідь Стіва, щоб зробити це іншим способом.

У командному рядку адміністратора:

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"

Хоча це може бути корисним, воно не буде працювати (копіювати та вставляти) для людей, у яких цей додаток інстальовано в іншому місці, у майбутній версії VS - або інших додатках, які люди хочуть запускати так само.
Ентоні Ніколс

1
Що ж, коли я писав це, у назві питання конкретно говорилося лише про VS2017 :) Оскільки це було змінено, я додав рядки, щоб подбати про 2019 рік, і примітку про це.
Габріель Лучі,

1
Редагування реєстру не для всіх людей. Ви повинні бути дуже обережними, інакше ви закінчите збій всю свою ОС. Тому я хотів би проголосувати і рекомендувати відповідь Стіва як найбезпечніше рішення, яке ви могли б отримати! Знову ж таки, це моя думка!
Вінсі

@Vincy Звичайно, але, швидше за все, якщо ви використовуєте Visual Studio, ви знаєте щось про Windows і не боїтеся безпосередньо змінювати реєстр. Не важко знайти, для чого призначені певні ключі реєстру.
Габріель Лучі,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.