繁体   English   中英

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

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

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

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

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

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

在 Windows 8、Windows 10 和 Windows 11 中,您必须右键单击devenv.exe并选择“疑难解答兼容性”。

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

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

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


如果您改变主意并希望撤消“以管理员身份运行”兼容性设置,请在此处查看答案: How to Fix Unrecognized Guid format in Visual Studio 2015

在查看超级用户后,我发现了这个问题,它解释了如何使用开始屏幕上的快捷方式执行此操作。 同样,当 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. 一旦我取消选中始终以提升的权限开始(使用 VSCommands),我就可以直接打开文件并将它们放入 Visual Studio 的打开实例中。

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

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

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

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


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

在此处输入图像描述

更新

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

  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并选择Troubleshoot compatibility
  3. 选择疑难解答程序
  4. 勾选该程序需要额外的权限,然后点击下一步。
  5. 单击“测试程序...”按钮以启动 VS。
  6. 单击下一步,然后单击是,保存此程序的这些设置,然后单击关闭按钮。

要让 Visual Studio在直接打开 Visual Studio 时始终以管理员身份运行,请对 DevEnv.exe 文件执行相同的操作。 这些文件位于:

视觉工作室 2010

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe

视觉工作室 2012

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe

视觉工作室 2013

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe

视觉工作室 2015

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe

视觉工作室 2017

C:\Program Files (x86)\Microsoft Visual Studio\2017\[VS SKU]\Common7\IDE\devenv.exe

选项 2 - 为 Visual Studio 使用 VSCommands 扩展

为 Visual Studio 安装免费的 VSCommands 扩展(它位于Visual Studio Extensions Gallery中),然后通过转到 Tools -> VSCommands -> Options -> IDE Enhancements -> General 并将其配置为始终以管理员权限启动 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"的条目"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 始终以管理员身份运行。 然后,您将能够在同一个 SQL Server 管理实例中双击打开 sql 文件,或者双击打开任何 Visual Studio 文件而不打开多个实例。

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

我在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"

此外,您可以检查兼容性故障排除

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

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

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

这些都不适合我。 我以管理员身份始终启动它的方式是修改注册表。

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.

全部完成。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM