你能强制让Visual Studio在Windows 8中始终以管理员身份运行吗?

1084

在Windows 7中,您可以进入程序的兼容性设置并勾选始终以管理员身份运行。在Windows 8中是否有类似的选项?

我一直在我的计算机上禁用UAC,在升级到Windows 8后也是如此,或者我以为是这样。结果发现没有“关闭”选项,只能关闭通知。

这意味着即使在管理员组中,没有任何内容被作为管理员运行。当我尝试调试(附加到进程,而不是按下)时,我需要不断地关闭和重新打开我的控制台\Visual Studio,这非常令人沮丧。

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


6
我认为这是一个合理的问题,但我认为你也应该在SuperUser上提问 - 那里可能会有一个通用的答案。 - Preet Sangha
6
如果需要以管理员身份启动VS,则你的文件权限可能存在问题。如果UAC已禁用,则很容易出现问题。 - KeatsPeeks
22
在 IIS 上运行 ASP.NET 应用程序需要管理员权限(因为它会尝试自动创建虚拟目录等)。 - codemonkeh
5
我认为,程序只有在需要的时候才应该以管理员身份运行。通常情况下,它们应该以较低权限运行。这就是我的做法。 - VivekDev
1
你真的不应该这样做,因为如果你在处理两个项目时,只有一个需要以管理员身份运行,那么你不应该将另一个实例作为管理员启动。 - Phil1970
这个回答解决了您的问题吗?如何以管理员身份默认运行Visual Studio? - StayOnTarget
13个回答

2148
在Windows 8、Windows 10和Windows 11中,你需要右键点击devenv.exe并选择“解决兼容性问题”。
  1. 选择“解决程序问题”
  2. 勾选“该程序需要额外的权限”
  3. 点击“下一步”
  4. 点击“测试该程序…”
  5. 等待程序启动
  6. 点击“下一步”
  7. 选择“是,为这个程序保存这些设置”
  8. 点击“关闭”
如果你打开Visual Studio时它要求保存更改到devenv.sln文件,请参考这个答案来禁用它: 禁用Visual Studio devenv解决方案保存对话框
如果你改变主意想取消“以管理员身份运行”兼容性设置,请查看这里的答案:如何修复Visual Studio 2015中的无法识别的Guid格式

44
这是我找到的最佳解决方案。现在我又可以从Windows资源管理器中打开 .sln 文件了! - Max Schilling
43
同样地,它也解决了固定的解决方案能够以管理员身份运行的问题。谢谢。 - Bern
191
如果你安装了多个版本的 Visual Studio,你可能还需要在 C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe 文件上执行相同操作。此外,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 - deadlydog
64
你怎样将它恢复到原来的状态? - Robert Koritnik
106
这相当于在注册表项 HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers 下添加名称为 C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe、值为 RUNASADMIN 的条目。删除该条目即可还原设置。 - Piotr Szmyd
显示剩余25条评论

180
在 Super User 上查找后,我发现这个问题,其中解释了如何在开始屏幕上的快捷方式上执行此操作。同样,当 Visual Studio 钉在任务栏上时,您也可以执行相同的操作。在任何一个位置:

  1. 右键单击 Visual Studio 图标
  2. 转到 属性
  3. 快捷方式 选项卡下选择 高级
  4. 选中 以管理员身份运行

setting default operation in admin mode

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

更新警告: 使用提升的权限运行 Visual Studio 的一个主要缺陷似乎是由于资源管理器也没有使用提升的权限,因此您无法将文件拖放到 Visual Studio 中进行编辑。您需要通过文件打开对话框来打开它们。您也不能双击与 Visual Studio 关联的任何文件并在 Visual Studio 中打开它(似乎除了解决方案),因为您将收到一个错误消息,显示发送命令到程序时出现问题。一旦我取消选中始终使用提升的权限(使用 VSCommands),那么我就能够直接打开文件并将其拖放到 Visual Studio 的一个打开实例中。

大胆者的更新: 尽管没有像以前那样关闭 UAC 的用户界面(至少我没看到),但仍然可以通过注册表来这样做。要编辑的键是:

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

更改后,Windows将提示您重新启动。重新启动后,如果您是管理员,则一切都将以管理员权限运行。我上面报告的问题现在也已经解决了。


9
如果你关闭了UAC,一些类似SkyDrive的Metro应用程序将无法正常工作。 - krisdyson
1
对于Windows 8,TigerShark的下面回答(在资源管理器中右键单击devenv.exe,然后选择故障排除...)似乎是一个更完整的解决方案。 - James White
3
在开始屏幕上右键单击图标,选择“打开文件位置”。这将打开保存该快捷方式的文件夹,然后您可以从那里查看其属性。 - Brian Surowiec
22
@Boomerangertanger 噢不,不要影响我的 Metro 应用!</sarcasm>(注:该句话带有讽刺意味) - Robert Christ
2
Metro应用程序非常棒。就是这样。 - krisdyson
显示剩余2条评论

61

注意 最近的VS版本(2015+)似乎已经没有这个扩展程序或者取消了这个功能。


您还可以下载由Squared Infinity开发的VSCommands for VS2012,该扩展有一个功能可以将其更改为以管理员身份运行(以及其他一些很酷的功能)。

输入图片描述

更新

您可以使用Visual Studio菜单栏中的工具->扩展和更新安装命令,选择在线并搜索vscommands,然后选择VSCommands for Visual Studio 20XX,具体取决于使用2012还是2013(或更高版本),然后下载并安装即可。


2
我在更新了快捷方式权限后安装了这个插件,所以我不确定它有什么不同。除了管理员权限之外,这个插件还有一些很好的功能,值得单独检查。 - Brian Surowiec
3
VSCommands 功能也可以在从任务栏快速访问菜单中启动项目时使用。太棒了! - Sean Kearon
@BrianSurowiec 它的作用是将某些内容放入 VS 的启动项中,以便如果它没有以管理员身份运行,则会自我终止并以管理员权限启动一个新实例。 - undefined
@DaveInCaz 很遗憾,这是真的。我认为他已经停止制作了。我已经编辑了答案来说明这一点。 - undefined

37
  1. 在Windows 8的开始菜单中选择“所有应用程序”
  2. 右键单击“Visual Studio 2010”图标
  3. 选择“打开文件位置”
  4. 右键单击“Visual Studio 2010”快捷图标
  5. 点击“高级”按钮
  6. 勾选“以管理员身份运行”复选框
  7. 点击“确定”

2
答案不错,但仅适用于从图标启动,如果右键单击图标并启动固定的解决方案,则无法使用。在Windows 8和10上尝试过,到目前为止只有故障排除方法可用于我启动固定的解决方案。 - djangojazz

25

这是我在SuperUser上类似帖子中的回答的副本:

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

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

  1. 导航到 C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe
  2. 右键单击VSLauncher.exe,然后选择解决兼容性问题
  3. 选择解决程序问题
  4. 勾选该程序需要其他权限,然后点击下一步。
  5. 点击测试该程序...按钮来启动VS。
  6. 点击下一步,然后点击是,为该程序保存这些设置,最后点击关闭按钮。
为了让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 选项二 - 使用VSCommands扩展程序来运行Visual Studio。
安装Visual Studio扩展库中免费的VSCommands扩展程序,然后配置它始终以管理员权限启动Visual Studio,方法是:转到“工具”->“VSCommands” -> “选项” ->“IDE增强功能” ->“常规”,勾选 始终使用提升的权限启动Visual Studio 并点击保存按钮。 注意:VSCommands目前不支持VS 2015,但他们的网站表示正在更新以支持VS 2015.

我的意见

我更喜欢第二个选择,因为:

  • 它也可以让你轻松关闭此功能。
  • VSCommands带有许多其他很棒的功能,所以我总是已经安装了它。
  • 这比选项1更容易实现。

1
Windows 10 - 每次我打开 .sln 文件,VS 2015 都会问我是否要保存对 devenv.exe 的更改。 - FrenkyB
1
@FrenkyB 你是否按照VS 2015的选项1所列出的步骤进行了操作?将其设置为管理员运行应该可以解决这个问题。https://dev59.com/RWYr5IYBdhLWcg3wi6s_#14423461 - deadlydog
1
现在它可以工作了。我刚刚保存了devenv.exe,它不再抱怨了。 - FrenkyB

15

VSCommands对我没有用,而且在我安装了Visual Studio 2010和Visual Studio 2012后引起了问题。

经过一些尝试,我找到了解决方法:

前往 HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers 并添加一个条目,名称为 "C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe",值为 "RUNASADMIN"

这样应该就可以解决你的问题了。我还写了一篇博客文章介绍了这个方法。


由于某些原因,这对我没有起作用,但是在HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers中添加条目却奏效了。 - Piotr Szmyd
1
这个答案在功能上与前两个不完全相同吗? - Maury Markowitz

7

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

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.

完成所有任务。

7

我知道这有点晚了,但我刚刚通过修改(即“黑客攻击”)devenv.exe文件的清单来解决这个问题。 我应该首先来到这里,因为所述的解决方案似乎更容易,并且可能更受Microsoft支持。 :)

以下是我如何做到的:

  1. 在VS中创建名为“Exe Manifests”的项目。(我认为任何版本都可以,但我使用的是2013 Pro。此外,你可以随便命名它。)
  2. 将现有的项添加到项目中,浏览Visual Studio exe并单击“确定”。 在我的情况下,它是“C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ devenv.exe”。
  3. 双击现在列在项目中作为文件的"devenv.exe"文件。 它应该使用资源编辑器打开exe。
  4. 展开“RT_MANIFEST”节点,然后双击其中的“1”。 这将在二进制编辑器中打开可执行文件的清单。
  5. 查找requestedExecutionLevel标记,并用“requireAdministrator”替换“asInvoker”。 例如: <requestedExecutionLevel level="requireAdministrator" uiAccess="false"></requestedExecutionLevel>
  6. 保存文件。

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

正如我所说,这可能不是做此操作的“正确”方法,但它似乎有效。 如果有人知道任何负面影响或需要进行的必要警告,请留言!


如果您这样做,将无法以普通用户身份运行应用程序,并且除非有已知的好原因(例如自动配置IIS),否则不应允许任何东西以管理员权限运行。 - EKW

7
此外,您可以查看兼容性故障排除
  • 右键单击Visual Studio > 选择“疑难解答兼容性”。
  • 选择“疑难解答程序”。
  • 检查“该程序需要额外的权限”。
  • 点击“测试该程序”。
  • 等待片刻,直到程序启动。 点击下一步。
  • 选择“是,请为此程序保存这些设置。”
  • 等待问题解决。
  • 确保最终状态已修复。 点击关闭。

请查看详细步骤以及始终将VS作为管理员打开的其他方法,请访问Visual Studio requires the application to have elevated permissions


在Windows 10上,这是解决我的问题的方法。谢谢。 - syp_dino

6

我在EightForums上发现了一个简单的方法,可以实现这个功能(选项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"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接