Czy możesz zmusić program Visual Studio, aby zawsze działał jako administrator w systemie Windows 8?

1013

W systemie Windows 7 możesz przejść do ustawień zgodności programów i zaznaczyć, aby zawsze działał jako administrator. Czy jest podobna opcja w Windows 8?

Zawsze wyłączałem UAC na moich komputerach i robiłem to samo po mojej aktualizacji Windows 8, a przynajmniej tak mi się wydawało. Okazuje się, że nie ma offopcji, wyłącza tylko powiadomienia.

Oznacza to, że nic nie jest uruchamiane jako administrator, mimo że należy do grupy administratorów. Muszę ciągle zamykać i ponownie otwierać konsole \ Visual Studio, gdy próbuję debugować (nie dołączać do procesu F5), co jest bardzo frustrujące.

Naprawdę denerwujące jest to, że muszę pamiętać o podjęciu dodatkowych kroków, aby otworzyć go jako Administrator, lub nakazać mu zamknięcie i ponowne otwarcie przy pierwszym uruchomieniu debugowania.

Brian Surowiec
źródło
6
Myślę, że to ważne pytanie tutaj, ale myślę, że powinieneś również zadać pytanie SuperUser - może być ogólna odpowiedź.
Preet Sangha,
4
Jeśli VS musi zostać uruchomiony jako administrator, wówczas uprawnienia do plików są nieprawidłowe. Łatwo je zepsuć przy wyłączonym UAC.
KeatsPeeks
19
@Keats Do uruchomienia aplikacji ASP.NET w IIS wymagane są uprawnienia administracyjne (ponieważ będzie ona próbowała automatycznie utworzyć katalog wirtualny itp.)
codemonkeh
4
@camelBase Uważam, że programy powinny być uruchamiane jako administrator tylko w razie potrzeby. Zwykle powinny być uruchamiane w ramach niższych uprawnień. To jest to co robię.
VivekDev,
1
Naprawdę nie powinieneś tego robić, ponieważ jeśli pracujesz z 2 projektami i tylko jeden musi działać jako administrator, nie powinieneś uruchamiać drugiej instancji jako administrator.
Phil1970,

Odpowiedzi:

2013

W Windows 8 i 10 musisz kliknąć prawym przyciskiem myszy devenv.exei wybrać „Rozwiązywanie problemów ze zgodnością”.

  1. Wybierz „Rozwiązywanie problemów z programem”
  2. Zaznacz „Program wymaga dodatkowych uprawnień”
  3. Kliknij Następny"
  4. Kliknij „Testuj program ...”
  5. Poczekaj na uruchomienie programu
  6. Kliknij Następny"
  7. Wybierz „Tak, zapisz te ustawienia dla tego programu”
  8. Kliknij „Zamknij”

Jeśli po otwarciu programu Visual Studio pojawi się monit o zapisanie zmian w devenv.sln, zobacz tę odpowiedź, aby go wyłączyć:

Wyłącz okno zapisu rozwiązania devenv programu Visual Studio


Jeśli zmienisz zdanie i chcesz cofnąć ustawienie zgodności „Uruchom jako administrator”, zapoznaj się z odpowiedzią tutaj: Jak naprawić nierozpoznany format Guid w programie Visual Studio 2015

Siewers
źródło
40
To najlepsze rozwiązanie, na jakie się natknąłem. Teraz mogę ponownie otworzyć pliki .sln z Eksploratora Windows!
Max Schilling,
39
Podobnie rozwiązuje również przypięte rozwiązania, które mogą działać jako administrator. Dzięki.
Bern
183
Możesz to również zrobić w C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exepliku, jeśli masz zainstalowanych wiele wersji programu Visual Studio. Ponadto domyślne ścieżki do plików devenv.exe to: 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
deadlydog
61
Jak przywrócić to do poprzedniego stanu?
Robert Koritnik,
96
@RobertKoritnik Jest to odpowiednik dodania wpisu rejestru o nazwie C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exei wartości RUNASADMINpod HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers. Usunięcie wpisu przywraca ustawienie z powrotem.
Piotr Szmyd,
168

Po przyjrzeniu się superużytkownikowi znalazłem to pytanie, które wyjaśnia, jak to zrobić za pomocą skrótu na ekranie startowym. Podobnie możesz zrobić to samo, gdy program Visual Studio jest przypięty do paska zadań. W obu lokalizacjach:

  1. Kliknij prawym przyciskiem myszy ikonę Visual Studio
  2. Iść do Properties
  3. Pod Shortcut tabwybierzAdvanced
  4. Czek Run as administrator

ustawienie domyślnej operacji w trybie administratora

W przeciwieństwie do Windows 7 działa to tylko wtedy, gdy uruchomisz aplikację ze zmienionego skrótu. Po zaktualizowaniu obu skrótów Visual Studio wydaje się, że działa również po otwarciu pliku rozwiązania z Eksploratora.

Aktualizacja ostrzeżenia: Wygląda na to, że jedną z głównych wad w programie Visual Studio z podwyższonymi uprawnieniami jest to, że Explorer nie działa z nimi, a także nie można przeciągać i upuszczać plików do programu Visual Studio do edycji. Musisz je otworzyć za pomocą okna dialogowego otwierania pliku. Nie można także kliknąć dwukrotnie żadnego pliku powiązanego z Visual Studio i otworzyć go w Visual Studio (poza rozwiązaniami, które się wydaje), ponieważ pojawi się komunikat o błędzie: There was a problem sending the command to the program.Gdy odznaczę, aby zawsze zaczynać z podwyższonymi uprawnieniami (przy użyciu VSCommands), wtedy „ Mogę bezpośrednio otwierać pliki i upuszczać je w otwartej instancji programu Visual Studio.

Aktualizacja dla odważnych: Mimo że nie ma interfejsu użytkownika, aby wyłączyć UAC, tak jak w przeszłości, przynajmniej widziałem, nadal możesz to zrobić za pośrednictwem rejestru. Kluczem do edycji jest:

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

Po zmianie tego systemu Windows wyświetli monit o ponowne uruchomienie. Po ponownym uruchomieniu wrócisz do wszystkiego, co działa z uprawnieniami administratora, jeśli jesteś administratorem. Problemy, które zgłosiłem powyżej, również zniknęły.

Brian Surowiec
źródło
9
Jeśli wyłączysz UAC, niektóre aplikacje Metro, takie jak SkyDrive, przestaną działać.
krisdyson
1
W przypadku systemu Windows 8 odpowiedź TigerShark (kliknięcie prawym przyciskiem myszy devenv.exe w Eksploratorze, rozwiązywanie problemów ..) wydaje się bardziej kompletnym rozwiązaniem.
James White
3
@ClaraOnager Kliknij prawym przyciskiem myszy ikonę na ekranie startowym i wybierz „Otwórz lokalizację pliku”. Spowoduje to otwarcie folderu, w którym skrót jest zapisany, a następnie możesz wyświetlić jego właściwości.
Brian Surowiec
19
@Boomerangertanger O nie, nie moje aplikacje metra! </sarcasm>
Robert Christ
2
Rockowe aplikacje metra. Koniec.
krisdyson 24.04.2013
59

UWAGA w najnowszych wersjach VS (2015+) wydaje się, że to rozszerzenie już nie istnieje / ma tę funkcję.


Możesz również pobrać VSCommands dla VS2012 od Squared Infinity, który ma funkcję zmieniającą go, aby działał jako administrator (a także kilka innych fajnych elementów)

wprowadź opis zdjęcia tutaj

Aktualizacja

Można zainstalować polecenia z paska menu Visual Studio, używając Tools-> Extensions and Updateswybierając Onlinei wyszukując, vscommandsgdzie następnie VSCommands for Visual Studio 20XXwybierasz, w zależności od tego, czy korzystasz z 2012 czy 2013 (lub więcej w przyszłości) i pobierz i zainstaluj.

Nie kochany
źródło
2
Zainstalowałem to po zaktualizowaniu uprawnień do skrótu, więc nie jestem pewien, co robi inaczej. Oprócz uprawnień administratora ta wtyczka ma kilka ciekawych funkcji, które warto sprawdzić samodzielnie.
Brian Surowiec
3
Funkcja VSCommands działa również po uruchomieniu projektu z menu szybkiego dostępu skrótu na pasku zadań. Genialne rzeczy!
Sean Kearon,
@BrianSurowiec, co robi, wkłada coś w uruchamianie VS, więc jeśli nie działa z administratorem, zabija się i uruchamia nową instancję za pozwoleniem administratora
Nie kochał
@DaveInCaz niestety prawda. Myślę, że przestał to robić. Zredagowałem odpowiedź, aby to odnotować.
Nie
36
  1. W menu Start systemu Windows 8 wybierz Wszystkie aplikacje
  2. Kliknij prawym przyciskiem myszy ikonę programu Visual Studio 2010
  3. Wybierz Otwórz lokalizację pliku
  4. Kliknij prawym przyciskiem myszy ikonę skrótu Visual Studio 2010
  5. Kliknij przycisk Zaawansowane
  6. Zaznacz pole wyboru Uruchom jako administrator
  7. Kliknij OK
Lou
źródło
2
Dobra odpowiedź, ale zadziała tylko podczas uruchamiania z ikony, NIE, jeśli klikniesz ikonę prawym przyciskiem myszy i uruchomisz przypięte rozwiązania. Wypróbowałem na Windows 8 i 10, a jak dotąd tylko metoda rozwiązywania problemów działa na mnie przy uruchamianiu przypiętych rozwiązań.
djangojazz
23

To jest kopia mojej odpowiedzi na podobny post na SuperUser :

Opcja 1 - Ustaw VSLauncher.exe i DevEnv.exe, aby zawsze działały jako administrator

Aby program Visual Studio zawsze działał jako administrator podczas otwierania dowolnego pliku .sln :

  1. Przejdź do C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe.
  2. Kliknij prawym przyciskiem myszy VSLauncher.exei wybierz opcję Rozwiąż problemy ze zgodnością .
  3. Wybierz program do rozwiązywania problemów .
  4. Wyrejestruj Program wymaga dodatkowych uprawnień i naciśnij Dalej.
  5. Kliknij przycisk Testuj program ... , aby uruchomić VS.
  6. Kliknij przycisk Dalej, a następnie naciśnij przycisk Tak, zapisz te ustawienia dla tego programu , a następnie zamknij przycisk.

Aby program Visual Studio zawsze działał jako administrator podczas bezpośredniego otwierania programu Visual Studio , zrób to samo z plikami DevEnv.exe. Te pliki znajdują się w:

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

Opcja 2 - Użyj rozszerzenia VSCommands dla programu Visual Studio

Zainstaluj bezpłatne rozszerzenie VSCommands dla programu Visual Studio (znajduje się ono w Galerii rozszerzeń programu Visual Studio ), a następnie skonfiguruj je tak, aby Visual Studio zawsze zaczynało się od uprawnień administratora, przechodząc do opcji Narzędzia -> VSCommands -> Opcje -> Ulepszenia IDE -> Ogólne i odznacz Always start Visual Studio with elevated permissionsi kliknij przycisk Zapisz.

Uwaga: VSCommands nie jest obecnie dostępny dla VS 2015, ale ich strona twierdzi, że pracują nad jego aktualizacją do obsługi VS 2015.

Moja opinia

Wolę opcję 2, ponieważ:

  • pozwala również łatwo wyłączyć tę funkcję.
  • VSCommands zawiera wiele innych świetnych funkcji, więc zawsze mam go zainstalowaną.
  • jest to po prostu łatwiejsze niż opcja 1.
śmiertelny pies
źródło
1
Windows 10 - za każdym razem, gdy otwieram plik .sln VS 2015, pyta mnie, czy chcę zapisać zmiany w
devenv.exe
1
@FrenkyB Czy zrobiłeś kroki wymienione dla Opcji 1 dla VS 2015? Ustawienie go jako administratora powinno rozwiązać ten problem. stackoverflow.com/a/14423461/602585
deadlydog
1
Teraz działa. Właśnie zapisałem devenv.exe i już nie narzeka.
FrenkyB
15

VSCommands nie działało dla mnie i powodowało problem, gdy instalowałem Visual Studio 2010 oprócz Visual Studio 2012.

Po kilku eksperymentach znalazłem sztuczkę:

Idź do HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layersi dodaj wpis z nazwą "C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe"i wartością "RUNASADMIN".

To powinno rozwiązać Twój problem. Pisałem także o tym na blogu .

Daniel Lang
źródło
Z jakiegoś powodu to nie działało dla mnie, ale dodanie wpisu HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layerszamiast tego załatwiło sprawę.
Piotr Szmyd
1
Czy ta odpowiedź nie jest funkcjonalnie identyczna z pierwszymi dwoma?
Maury Markowitz
7

Wiem, że to trochę za późno, ale właśnie wymyśliłem, jak to zrobić, modyfikując (czytaj „hakując”) manifest pliku devenv.exe. Powinienem tu był pierwszy, ponieważ podane rozwiązania wydają się nieco łatwiejsze i prawdopodobnie bardziej wspierane przez Microsoft. :)

Oto jak to zrobiłem:

  1. Utwórz projekt w VS o nazwie „Manifesty Exe”. (Myślę, że każda wersja będzie działać, ale użyłem 2013 Pro. Poza tym tak naprawdę nie ma znaczenia, jak ją nazwiesz).
  2. „Dodaj istniejący element” do projektu, przejdź do exe Visual Studio i kliknij OK. W moim przypadku było to „C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ devenv.exe”.
  3. Kliknij dwukrotnie plik „devenv.exe”, który powinien być teraz wymieniony jako plik w projekcie. Powinien wywoływać exe w edytorze zasobów.
  4. Rozwiń węzeł „RT_MANIFEST”, a następnie kliknij dwukrotnie „1” pod tym. Spowoduje to otwarcie manifestu pliku wykonywalnego w edytorze binarnym.
  5. Znajdź żądany znacznikExecutionLevel i zastąp „asInvoker” słowem „wymaganyAdministrator”. A la: <requestedExecutionLevel level="requireAdministrator" uiAccess="false"></requestedExecutionLevel>
  6. Zapisz plik.

Właśnie zapisałeś kopię pliku wykonywalnego, która została dodana do twojego projektu. Teraz musisz wykonać kopię zapasową oryginału i skopiować zmodyfikowany plik exe do katalogu instalacyjnego.

Jak powiedziałem, prawdopodobnie nie jest to właściwy sposób, ale wydaje się, że działa. Jeśli ktoś wie o jakimkolwiek negatywnym opadzie lub koniecznym uderzeniu w nadgarstek, które musi się zdarzyć, włącz się!

Jim Strawn
źródło
Jeśli to zrobisz, uruchomienie aplikacji jako LUser stanie się niemożliwe i nic nie powinno być dozwolone z uprawnieniami administracyjnymi, chyba że są one wymagane ze znanych, dobrych powodów (takich jak automatyczna konfiguracja IIS)
EKW
6

Jeśli używasz Total Commander tak jak ja, powinieneś zrobić to samo, aby Total Commander był zawsze uruchamiany jako administrator. Następnie będziesz mógł otworzyć plik sql podwójnym kliknięciem w tej samej instancji zarządzania SQL Server, lub otworzyć dowolny plik Visual Studio podwójnym kliknięciem i nie mieć otwartych wielu instancji.

Ten program do rozwiązywania problemów dodaje wartość rejestru do HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers dla dowolnego programu, więc jeśli chcesz napisać to bezpośrednio, możesz.

drejKamikaza
źródło
1
Zasadniczo dodaje nową wartość ciągu do tej ścieżki rejestru, przy czym nazwa jest pełną ścieżką do pliku wykonywalnego (bez cudzysłowów), a dane są RUNASADMINna wypadek, gdybyś chciał to zrobić ręcznie.
Ray
6

Znalazłem prosty sposób, aby to zrobić na EightForums ( opcja 8 ), utwórz wartość ciągu w HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers. Ustaw nazwę ścieżki do programu, a wartość na ~ RUNASDMIN. Następnym razem, gdy otworzysz program, otworzy się on jako administrator

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
    "C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\Common7\\IDE\\devenv.exe"="~RUNASADMIN"
Mikrofon
źródło
6

Możesz także sprawdzić rozwiązywanie problemów dotyczących zgodności

  • Kliknij prawym przyciskiem myszy Visual Studio> wybierz Rozwiąż problemy ze zgodnością.
  • Wybierz opcję Rozwiązywanie problemów z programem.
  • Sprawdź Program wymaga dodatkowych uprawnień.
  • Kliknij Testuj program.
  • Poczekaj chwilę, aż program się uruchomi. Kliknij Następny.
  • Wybierz Tak, zapisz te ustawienia dla tego programu.
  • Poczekaj na rozwiązanie problemu.
  • Upewnij się, że ostateczny status jest ustalony. Kliknij Zamknij.

Sprawdź szczegółowe kroki i inne sposoby, aby zawsze otwierać VS jako administrator w Visual Studio, wymaga aplikacji z podwyższonymi uprawnieniami .

Mohamed El-Qassas MVP
źródło
5

Po prostu znajdź program w katalogu Program Files (lub w innym miejscu). Kliknij prawym przyciskiem myszy plik EXE, na drugiej karcie u dołu zaznacz pole wyboru wymuszania uruchamiania tego programu z uprawnieniami administratora. Od teraz wszystkie skróty pliku exe będą uruchamiane z uprawnieniami administratora :)

Niebieski mężczyzna
źródło
1
Działa to we wszystkich systemach, w których okno Właściwości ma zakładkę Zgodności, czego nie robi Windows 8 (chociaż Windows 8.1 tak).
ThePyroEagle
2

Visual Studio podnosi się automatycznie, jeśli manifest projektu projektu określa administratora requestedExecutionLevel, więc wystarczy go edytować. Visual Studio wykryje to i w razie potrzeby uruchomi się ponownie jako administrator.

beppe9000
źródło