ChatGPT解决这个技术问题 Extra ChatGPT

Can you force Visual Studio to always run as an Administrator in Windows 8?

In Windows 7, you could go into a programs compatibility settings and check off to always run as an Administrator. Is there a similar option in Windows 8?

I've always disabled UAC on my machines, and did the same after my Windows 8 upgrade, or so I thought. It turns out there is no off option, only turning off the notifications.

This means nothing is run as an Administrator despite being in the Administrator group. I need to keep closing and reopening my consoles\Visual Studio when I try to debug (attach to process, not F5), which is very frustrating.

It's really annoying that I need to either remember to take extra steps to open it as an Administrator or tell it to close and re-open when I go to debug for the first time.

I think this is valid question here, but I think you should ask on SuperUser too - there may be a general answer.
If VS needs to be launched as an administrator, then your file permissions are wrong. They are easy to mess up with UAC disabled.
@Keats Administrative privileges are required to run an ASP.NET application on IIS (as it will attempt to automatically create the virtual directory, etc.)
@camelBase I feel, programs should be made to run as administrator only when needed. Normally they should be run under lower privs. Thats what I do.
You should really not do it because if you work with 2 project and only one need to run as an administrator, you should not start the other instance as an administrator.

S
Sachin Joseph

In Windows 8, Windows 10, and Windows 11, you have to right-click devenv.exe and select "Troubleshoot compatibility".

Select "Troubleshoot program" Check "The program requires additional permissions" Click "Next" Click "Test the program..." Wait for the program to launch Click "Next" Select "Yes, save these settings for this program" Click "Close"

If, when you open Visual Studio it asks to save changes to devenv.sln, see this answer to disable it:

Disable Visual Studio devenv solution save dialog

If you change your mind and wish to undo the "Run As Administrator" Compatibility setting, see the answer here: How to Fix Unrecognized Guid format in Visual Studio 2015


This is the best solution I have come across. Now I can open .sln files from windows explorer again!
Likewise, it also resolves pinned solutions being able to run as administrator. Thanks.
You may also want to do this on the C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe file if you have multiple versions of Visual Studio installed. Also, the default paths to the devenv.exe files is: 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
How do you revert this back to what it was?
@RobertKoritnik This is an equivalent of adding registry entry with name C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe and value RUNASADMIN under HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers. Removing the entry reverts the setting back.
I
IAbstract

After looking on Super User I found this question which explains how to do this with the shortcut on the start screen. Similarly you can do the same when Visual Studio is pinned to the task bar. In either location:

Right click the Visual Studio icon Go to Properties Under the Shortcut tab select Advanced Check Run as administrator

https://i.stack.imgur.com/PwMjI.png

Unlike in Windows 7 this only works if you launch the application from the shortcut you changed. After updating both Visual Studio shortcuts it seems to also work when you open a solution file from Explorer.

Update Warning: It looks like one of the major flaws in running Visual Studio with elevated permissions is since Explorer isn't running with them as well you can't drag and drop files into Visual Studio for editing. You need to open them through the file open dialog. Nor can you double click any file associated to Visual Studio and have it open in Visual Studio (aside from solutions it seems) because you'll get an error message saying There was a problem sending the command to the program. Once I uncheck to always start with elevated permissions (using VSCommands) then I'm able to open files directly and drop them into an open instance of Visual Studio.

Update For The Daring: Despite there being no UI to turn off UAC like in the past, that I saw at least, you can still do so through the registry. The key to edit is:

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

After changing this Windows will prompt you to restart. Once restarted you'll be back to everything running with admin permissions if you're an admin. The issues I reported above are now gone as well.


If you turn off UAC, some Metro apps, like SkyDrive will no longer work.
For Windows 8, the answer below by TigerShark (rightclick devenv.exe in explorer, troubleshoot..) seems like a more complete solution.
@ClaraOnager Right click on the icon in the start screen and select 'Open file location'. This will open up the folder that the shortcut is saved in and then you can view it's properties from there.
@Boomerangertanger Oh no, not my metro apps!
The metro apps rock. End of.
N
Not loved

NOTE in recent VS versions (2015+) it seems this extension no longer exists/has this feature.

You can also download VSCommands for VS2012 by Squared Infinity which has a feature to change it to run as admin (as well as some other cool bits and pieces)

https://i.stack.imgur.com/4VoyY.png

Update

One can install the commands from the Visual Studio menu bar using Tools->Extensions and Updates selecting Online and searching for vscommands where then one selects VSCommands for Visual Studio 20XX depending on whether using 2012 or 2013 (or greater going forward) and download and install.


I installed this after I updated the shortcut permissions so I'm not sure what this does differently. Admin permissions aside this plugin has some nice features that are worth checking out on their own.
The VSCommands feature also works when you start a project from a taskbar shortcut's quick access menu. Brilliant stuff!
@BrianSurowiec what it does it put something into the startup of VS so that if its not running with admin it kills itself and starts a new instance with the admin permission
@DaveInCaz sadly true. I think he stopped making it. I have edited the answer to note this.
m
moribvndvs

On Windows 8 Start Menu select All Apps Right click on Visual Studio 2010 Icon Select Open File Location Right click on Visual Studio 2010 shortcut icon Click Advanced button Check the Run as Administrator checkbox Click OK


Good answer but will only work when launching from the icon, NOT if you right click on the icon and launch pinned solutions. Tried on Windows 8 and 10 and only the troubleshoot method so far works for me on launching pinned solutions.
d
deadlydog

This is a copy of my answer to a similar post on SuperUser:

Option 1 - Set VSLauncher.exe and DevEnv.exe to always run as admin

To have Visual Studio always run as admin when opening any .sln file:

Navigate to C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe. Right-click on VSLauncher.exe and choose Troubleshoot compatibility. Choose Troubleshoot program. Check off The program requires additional permissions and hit Next. Click the Test the program... button to launch VS. Click Next, then hit Yes, save these settings for this program, and then the close buton.

To have Visual Studio always run as an admin when just opening visual studio directly, do the same thing to the DevEnv.exe file(s). These file are located at:

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

Option 2 - Use VSCommands extension for Visual Studio

Install the free VSCommands extension for Visual Studio (it's in the Visual Studio Extensions Gallery) and then configure it to always have Visual Studio start with admin privileges by going to Tools -> VSCommands -> Options -> IDE Enhancements -> General and check off Always start Visual Studio with elevated permissions and click the Save button.

Note: VSCommands is not currently available for VS 2015, but their site says they are working on updating it to support VS 2015.

My Opinion

I prefer Option 2 because:

it also allows you to easily turn off this functionality.

VSCommands comes with lots of other great features so I always have it installed anyways.

it's just easier to do than option 1.


Windows 10 - each time I open .sln file VS 2015 is asking me if I want to save changes to devenv.exe
@FrenkyB Did you do the steps listed for Option 1 for VS 2015? Setting it to run as admin should fix that issue. stackoverflow.com/a/14423461/602585
It works now. I've just saved devenv.exe and it's not complaining any more.
S
Stacked

VSCommands didn't work for me and caused a problem when I installed Visual Studio 2010 aside of Visual Studio 2012.

After some experimentations I found the trick:

Go to HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers and add an entry with the name "C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe" and the value "RUNASADMIN".

This should solve your issue. I've also blogged about that.


For some reason this didn't work for me, but adding the entry in HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers instead did the trick.
Is this answer not functionally identical to the first two?
J
Jim Strawn

I know this is a little late, but I just figured out how to do this by modifying (read, "hacking") the manifest of the devenv.exe file. I should have come here first because the stated solutions seem a little easier, and probably more supported by Microsoft. :)

Here's how I did it:

Create a project in VS called "Exe Manifests". (I think any version will work, but I used 2013 Pro. Also, it doesn't really matter what you name it.) "Add existing item" to the project, browse to the Visual Studio exe, and click Okay. In my case, it was "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe". Double-click on the "devenv.exe" file that should now be listed as a file in your project. It should bring up the exe in a resource editor. Expand the "RT_MANIFEST" node, then double-click on "1" under that. This will open up the executable's manifest in the binary editor. Find the requestedExecutionLevel tag and replace "asInvoker" with "requireAdministrator". A la: Save the file.

You've just saved the copy of the executable that was added to your project. Now you need to back up the original and copy your modified exe to your installation directory.

As I said, this is probably not the right way to do it, but it seems to work. If anyone knows of any negative fallout or requisite wrist-slapping that needs to happen, please chime in!


If you do this, it will then become impossible to run the app as a LUser, and nothing should be allowed to run with administrative privileges unless they're required for a known, good, reason (such as auto-configuring IIS)
d
drejKamikaza

If you using Total Commander as I do, you should do the same for Total Commander to be run as admin always. Then you will be able to open sql file on double click in same SQL Server management instance, or to open any Visual Studio file on double click and not have multiple instances open.

This Troubleshoot program adds registry value to HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers for any program, so if you like to write it directly you can.


It basically adds a new string value to that registry path, with the name being the full path to the executable (without quotes), and the data being RUNASADMIN, in case you want to do it manually.
M
Mike

I found a simple way to do this on EightForums (Option 8), create a string value under HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers. Set the name to the path to the program and the value to ~RUNASDMIN. Next time you open the program it will open as an 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"

M
Mohamed

Also, you can check the compatibility troubleshooting

Right-click on Visual Studio > select Troubleshoot compatibility.

Select Troubleshoot Program.

Check The program requires additional permissions.

Click on Test the program.

Wait for a moment until the program launch. Click Next.

Select Yes, save these settings for this program.

Wait for resolving the issue.

Make sure the final status is fixed. Click Close.

Check the detail steps, and other ways to always open VS as Admin at Visual Studio requires the application to have elevated permissions.


On Windows 10 that was a solution of my problem. Thanks.
B
BlueMan

Just find the program in Program Files directory (or in other location). Right click on the EXE file, on the second tab at the bottom check the checkbox of forcing running that program with administration privileges. From now all shortcuts of the exe file will be fired with administration privileges :)


This works on all systems where the Properties window has a Compatibility tab, which Windows 8 doesn't (although Windows 8.1 does).
G
Gogu CelMare

NONE of this worked for me. The way I got it to start allways as Administrator was to modify the registry.

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.

ALL DONE.


This works, thank you.
b
beppe9000

Visual Studio does elevate itself automatically if the project's application manifest specifies an administrative requestedExecutionLevel, so you just need to edit that. Visual Studio will detect that and relaunch itself as administrator when needed.