在Windows 7中,你可以进入程序兼容性设置并勾选“关闭”以始终以管理员身份运行。Windows 8中也有类似的选项吗?

我总是在我的电脑上禁用UAC,在我升级Windows 8之后也是如此,至少我是这么认为的。结果是没有关闭选项,只能关闭通知。

这意味着以管理员身份运行任何内容,尽管在管理员组中。当我尝试调试(附加到进程,而不是F5)时,我需要不断关闭和重新打开我的控制台\Visual Studio,这非常令人沮丧。

这真的很烦人,我需要记住以管理员身份打开它,或者在我第一次进行调试时告诉它关闭并重新打开。


在查看超级用户之后,我发现了这个问题,它解释了如何在开始屏幕上使用快捷方式来做到这一点。同样,当Visual Studio固定在任务栏上时,也可以做同样的事情。在任何一个地点:

右击Visual Studio图标 转到属性 在快捷方式选项卡下选择高级 以管理员身份运行

与Windows 7不同的是,只有当你从你更改的快捷方式启动应用程序时,这才有效。在更新了Visual Studio的快捷方式后,当你从资源管理器打开一个解决方案文件时,它似乎也可以工作。

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.

更新给勇敢者: 尽管没有UI像过去那样关闭UAC,至少我看到,你仍然可以通过注册表这样做。编辑的关键是:

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

更改后,Windows将提示您重新启动。重新启动后,如果您是管理员,您将回到所有具有管理员权限的运行。我上面报告的问题现在也不存在了。


注意在最近的VS版本(2015+),这个扩展似乎不再存在/有这个功能。


你也可以下载VS2012的VSCommands by Squared Infinity,它有一个功能来改变它以管理员身份运行(以及其他一些很酷的小部件)

更新

你可以使用Tools->Extensions and Updates从Visual Studio菜单栏中安装命令,选择Online并搜索vscommands,然后选择vscommands for Visual Studio 20XX,这取决于是使用2012年还是2013年(或更高的版本),然后下载并安装。


VSCommands对我不起作用,当我安装Visual Studio 2012之外的Visual Studio 2010时,造成了一个问题。

经过一些实验,我发现了诀窍:

转到HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers,添加一个名为“C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe”的条目,值为“RUNASADMIN”。

这应该能解决你的问题。我也为此写过博客。


在Windows 8、Windows 10和Windows 11中,您必须右键单击devenv.exe并选择“排除兼容性问题”。

选择“故障排除程序” 勾选“该程序需要额外权限” 点击“下一步” 点击“测试程序…” 等待程序启动 点击“下一步” 选择“是,为此程序保存这些设置” 点击“关闭”

如果,当你打开Visual Studio时,它会要求将更改保存到devenv。Sln,看到这个答案禁用它:

禁用Visual Studio devenv解决方案保存对话框


如果您改变主意并希望撤消“以管理员身份运行”兼容性设置,请参阅这里的答案:如何修复Visual Studio 2015中无法识别的Guid格式


在Windows 8开始菜单中选择“所有应用程序” 右击Visual Studio 2010图标 选择打开文件位置 右键单击Visual Studio 2010快捷图标 单击“高级”按钮 选中“以管理员身份运行”复选框 单击OK


以下是我对SuperUser上一篇类似文章的回复:

选项1 -设置VSLauncher.exe和DevEnv.exe始终以管理员身份运行

要让Visual Studio在打开任何.sln文件时始终以管理员身份运行:

打开C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe。 右键单击VSLauncher.exe,选择“排除兼容性问题”。 选择故障排除程序。 选中该程序需要额外的权限,然后点击下一步。 点击测试程序…按钮启动VS。 单击Next,然后单击Yes,为该程序保存这些设置,然后单击close按钮。

要让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

为Visual Studio安装免费的VSCommands扩展(在Visual Studio Extensions Gallery中),然后将其配置为始终具有Visual Studio以管理权限启动,点击工具-> VSCommands -> Options -> IDE Enhancements -> General,并勾选始终以提升权限启动Visual Studio,然后单击保存按钮。

注意:VSCommands目前还不能用于VS 2015,但是他们的网站说他们正在更新以支持VS 2015。

我的意见

我更喜欢选项2,因为:

它还允许您轻松地关闭此功能。 VSCommands附带了很多其他很棒的功能,所以我总是安装它。 这比选择一要简单。


如果你像我一样使用总指挥官,你应该做同样的总指挥官总是以管理员的身份运行。然后,您将能够在相同的sql Server管理实例中双击打开sql文件,或者双击打开任何Visual Studio文件而不打开多个实例。

这个故障排除程序为任何程序添加注册表值HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers,所以如果你想直接写它,你可以。


只需在program Files目录(或其他位置)中找到该程序。右键单击EXE文件,在底部的第二个选项卡上选中以管理权限强制运行该程序的复选框。 从现在开始,exe文件的所有快捷方式都将以管理权限启动:)


我知道这有点晚了,但我只是通过修改(读作“黑客”)devenv.exe文件的清单来做到这一点。我应该先讲到这里,因为所述的解决方案似乎更简单一些,而且可能更受微软的支持。:)

我是这样做的:

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: <requestedExecutionLevel level="requireAdministrator" uiAccess="false"></requestedExecutionLevel> Save the file.

您刚刚保存了添加到项目中的可执行文件的副本。现在需要备份原始文件,并将修改后的exe复制到安装目录。

正如我所说,这可能不是正确的方法,但它似乎有效。如果有人知道任何负面影响或必要的惩罚,请插话!


我找到了一个简单的方法来做到这一点在八论坛(选项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"

如果项目的应用程序清单指定了一个管理requestedExecutionLevel, Visual Studio会自动提升自己,所以你只需要编辑它。Visual Studio将检测到这一点,并在需要时以管理员身份重新启动自己。


同时,还可以检查兼容性故障处理

右键单击Visual Studio >,选择“排除兼容性问题”。 选择“故障排除程序”。 检查该程序需要额外的权限。 单击测试程序。 等待片刻,直到程序启动。单击Next。 选择Yes, save these settings for this program。 等待问题解决。 确保最终状态是固定的。单击Close。

检查详细步骤,以及在Visual Studio中始终以管理员身份打开VS的其他方法需要应用程序具有更高的权限。


这些对我都没用。我总是以管理员身份启动它的方法是修改注册表。

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.

全部完成。