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

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

我一直在我的机器上禁用 UAC,并且在 Windows 8 升级后也做了同样的事情,所以我想。事实证明,没有off选项,仅关闭通知。

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

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

答案

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

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

如果在打开 Visual Studio 时要求将更改保存到 devenv.sln,请参见以下答案以将其禁用:

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


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

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

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


您还可以下载 Squared Infinity 的VS2012 的 VSCommands ,该功能具有将其更改为以管理员身份运行的功能(以及其他一些不错的功能)

在此处输入图片说明

更新资料

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

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

这是我对 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 在直接打开 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 使用 VSCommands 扩展

为 Visual Studio安装免费的VSCommands 扩展 (位于Visual Studio 扩展库中 ),然后通过转到工具 -> VSCommands-> 选项 -> IDE 增强 -> 常规,将其配置为始终使 Visual Studio 以管理员特权开头。 Always start Visual Studio with elevated permissions然后单击 “保存” 按钮。

注意: VSCommands 当前不适用于 VS 2015,但他们的站点表示他们正在努力对其进行更新以支持 VS 2015。

我的想法

我更喜欢选项 2,因为:

  • 它还使您可以轻松关闭此功能。
  • VSCommands 还具有许多其他出色的功能,因此无论如何我总是要安装它。
  • 它比方法 1 容易做。

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

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

转到HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers并添加名称为"C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe"和值为"RUNASADMIN"

这应该可以解决您的问题。我也写过博客

我知道这有点晚了,但是我只是想出了如何通过修改(读取,“黑客”)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 标记,然后将 “asInvoker” 替换为 “requireAdministrator”。一个: <requestedExecutionLevel level="requireAdministrator" uiAccess="false"></requestedExecutionLevel>
  6. 保存文件。

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

就像我说的那样,这可能不是正确的方法,但似乎可行。如果有人知道需要进行任何负面影响或必要的打手腕,请发出提示!

如果像我一样使用Total Commander ,则应始终执行 Total Commander 以始终以 admin 身份运行。然后,您将可以在同一 SQL Server 管理实例中双击打开 sql 文件,或双击打开任何 Visual Studio 文件,而不必打开多个实例。

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

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
    "C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\Common7\\IDE\\devenv.exe"="~RUNASADMIN"

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