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

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

我总是在我的机器上禁用UAC,并且在我的Windows 8升级后做了同样的事情,或者我认为是这样。事实证明没有off选项,只有关闭通知。

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

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

249948 次浏览

在查看Super User之后,我找到了这个问题,它解释了如何使用开始屏幕上的快捷方式执行此操作。同样,当Visual Studio固定到任务栏时,您也可以执行相同的操作。在任一位置:

  1. 右键单击Visual Studio图标
  2. 转到Properties
  3. Shortcut tab下选择Advanced
  4. 检查Run as administrator

在管理模式下设置默认操作

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

更新警告:看起来使用提升权限运行Visual Studio的主要缺陷之一是因为资源管理器没有与它们一起运行,并且您无法将文件拖放到Visual Studio中进行编辑。您需要通过文件打开对话框打开它们。您也不能双击与Visual Studio关联的任何文件并在Visual Studio中打开它(似乎除了解决方案之外),因为您会收到一条错误消息说There was a problem sending the command to the program.一旦我取消选中始终以提升权限开始(使用VS命令),那么我就可以直接打开文件并将它们放入Visual Studio的打开实例中。

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

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

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

在最近的VS版本(2015+)中,似乎此扩展不再存在/具有此功能。


您还可以通过Squared Infinity下载VS2012的命令,它具有将其更改为以管理员身份运行的功能(以及其他一些很酷的部分)

输入图片描述

更新

您可以使用Tools->Extensions and Updates从Visual Studio菜单栏安装命令,选择Online并搜索vscommands,然后根据使用2012或2013(或更高版本)选择VSCommands for Visual Studio 20XX并下载和安装。

当我在Visual Studio 2012之外安装Visual Studio 2010时,VSCommand ds对我不起作用并导致问题。

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

转到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并选择“解决兼容性问题”。

  1. 选择“故障排除程序”
  2. 勾选“程序需要额外权限”
  3. 点击“下一步”
  4. 点击“测试程序…”
  5. 等待程序启动
  6. 点击“下一步”
  7. 选择“是,保存此程序的这些设置”
  8. 点击“关闭”

如果当您打开Visual Studio时,它要求将更改保存到devenv.sln,请参阅此答案以禁用它:

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


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

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

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

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

要让Visual Studio始终以admin打开任何. sln文件时运行:

  1. 导航到C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe
  2. 右键单击VSLauncher.exe并选择兼容性故障排除
  3. 选择故障排除程序
  4. 选中该程序需要额外的权限并点击Next。
  5. 单击测试程序…按钮启动VS。
  6. 点击Next,然后点击是的,保存此程序的这些设置,然后点击关闭按钮。

要让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-为Visual Studio使用VSCommand ds扩展

安装免费的适用于Visual Studio的VSDirecds扩展(它在Visual Studio扩展库中),然后将其配置为始终让Visual Studio以管理员权限启动,方法是转到工具->VSCommand ds->选项->IDE增强->常规并勾选Always start Visual Studio with elevated permissions并单击保存按钮。

备注: VSCommand ds目前不适用于VS 2015,但他们的网站表示他们正在更新它以支持VS 2015。

我的观点

我更喜欢选择2,因为:

  • 它还允许您轻松关闭此功能。
  • VSDirecds带有许多其他强大的功能,所以我总是安装它。
  • 这比选项1更容易做到。

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

此疑难解答程序将注册表值添加到任何程序的HKEY_CURRENT_USER\Software\Microsoft\Windows NT\Money tVersion\AppCompatFlags\Layers,因此如果您喜欢直接编写它,您可以。

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

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

我是这样做的:

  1. 在VS中创建一个名为“Exe Manifests”的项目。(我认为任何版本都可以,但我使用了2013 Pro。此外,你给它取什么名字并不重要。)
  2. “添加现有项目”到项目中,浏览到Visual Studio exe,然后单击“确定”。在我的例子中,它是“C:\Program Files(x86)\Microsoft Visual Studio 12.0\Common 7\IDE\devenv.exe”。
  3. 双击“devenv.exe”文件,该文件现在应该作为项目中的文件列出。它应该会在资源编辑器中显示exe。
  4. 展开“RT_MANIFEST”节点,然后双击其下的“1”。这将在二进制编辑器中打开可执行文件的清单。
  5. 找到请求执行级别标记并将“asInvoker”替换为“请求管理员”。A la:<requestedExecutionLevel level="requireAdministrator" uiAccess="false"></requestedExecutionLevel>
  6. 保存文件。

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

正如我所说,这可能不是解决问题的最佳方式,但它似乎奏效了。如果有人知道任何负面影响或必要的拍打手腕需要发生,请插话!

我发现了一个简单的方法来做到这一点在八论坛(备选办法8),创建一个字符串值下HKEY_CURRENT_USER\软件\微软\Windows NT\货币版本\AppCompatFlags\图层。下次打开程序时,它将以管理员身份打开

[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>选择兼容性疑难解答。
  • 选择疑难解答程序。
  • 选中该程序需要额外的权限。
  • 单击测试程序。
  • 等待片刻,直到程序启动。单击下一步。
  • 选择是,保存此程序的这些设置。
  • 等待解决问题。
  • 确保最终状态已修复。单击关闭。

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

这些对我都不起作用。我以管理员身份开始的方法是修改注册表。

1. Just start regedit.exe.2. Navigate to Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers3. Right Click New->String Value4. 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.

都搞定了。