在 Windows 7 中,您可以进入程序兼容性设置并勾选始终以管理员身份运行。 Windows 8 中是否有类似的选项?
我一直在我的机器上禁用 UAC,并且在我的 Windows 8 升级后也这样做了,或者我是这么认为的。原来没有off
选项,只有关闭通知。
这意味着尽管在管理员组中,但没有任何内容以管理员身份运行。当我尝试调试(附加到进程,而不是 F5)时,我需要继续关闭并重新打开我的控制台\Visual Studio,这非常令人沮丧。
真的很烦人,我需要记住采取额外的步骤以管理员身份打开它,或者在我第一次去调试时告诉它关闭并重新打开。
在 Windows 8、Windows 10 和 Windows 11 中,您必须右键单击 devenv.exe
并选择“疑难解答兼容性”。
选择“程序疑难解答”选中“程序需要其他权限”单击“下一步”单击“测试程序...”等待程序启动单击“下一步”选择“是,保存此程序的这些设置”单击“关闭” "
如果,当您打开 Visual Studio 时,它要求保存对 devenv.sln 的更改,请参阅此答案以禁用它:
Disable Visual Studio devenv solution save dialog
如果您改变主意并希望撤消“以管理员身份运行”兼容性设置,请在此处查看答案:How to Fix Unrecognized Guid format in Visual Studio 2015
查看超级用户后,我发现 this question 解释了如何使用开始屏幕上的快捷方式执行此操作。同样,当 Visual Studio 固定到任务栏时,您也可以这样做。在任一位置:
右键单击 Visual Studio 图标转到属性在快捷方式选项卡下选择高级检查以管理员身份运行
https://i.stack.imgur.com/PwMjI.png
与 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 的 VSCommands for VS2012,它具有将其更改为以管理员身份运行的功能(以及其他一些很酷的点点滴滴)
https://i.stack.imgur.com/4VoyY.png
更新
可以使用 Tools
->Extensions and Updates
选择 Online
并搜索 vscommands
从 Visual Studio 菜单栏中安装命令,然后根据使用 2012 或 2013(或更高版本)选择 VSCommands for Visual Studio 20XX
) 并下载并安装。
在 Windows 8 开始菜单上选择所有应用程序右键单击 Visual Studio 2010 图标选择打开文件位置右键单击 Visual Studio 2010 快捷方式图标单击高级按钮选中以管理员身份运行复选框单击确定
这是 my answer to a similar post on SuperUser 的副本:
选项 1 - 将 VSLauncher.exe 和 DevEnv.exe 设置为始终以管理员身份运行
要让 Visual Studio 在打开任何 .sln 文件时始终以管理员身份运行:
导航到 C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe。右键单击 VSLauncher.exe 并选择疑难解答兼容性。选择疑难解答程序。勾选该程序需要额外的权限,然后点击下一步。单击“测试程序...”按钮以启动 VS。单击下一步,然后单击是,保存此程序的这些设置,然后单击关闭按钮。
要让 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 扩展
安装免费的 VSCommands extension for Visual Studio(它在 the Visual Studio Extensions Gallery 中),然后通过转到工具 -> 将其配置为始终让 Visual Studio 以管理员权限启动VSCommands ->选项-> IDE 增强 ->常规并勾选 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"
的条目。
这应该可以解决您的问题。我也对此有过blogged。
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
中添加条目反而起到了作用。
我知道这有点晚了,但我只是想出了如何通过修改(读取,“黑客”)devenv.exe 文件的清单来做到这一点。我应该先来这里,因为所述解决方案似乎更容易一些,并且可能更受 Microsoft 的支持。 :)
我是这样做的:
在 VS 中创建一个名为“Exe Manifests”的项目。 (我认为任何版本都可以使用,但我使用的是 2013 Pro。另外,你给它起什么名字并不重要。)“添加现有项目”到项目中,浏览到 Visual Studio exe,然后单击“确定”。就我而言,它是“C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe”。双击现在应该在项目中作为文件列出的“devenv.exe”文件。它应该在资源编辑器中调出 exe。展开“RT_MANIFEST”节点,然后双击该节点下的“1”。这将在二进制编辑器中打开可执行文件的清单。找到requestedExecutionLevel 标记并将“asInvoker”替换为“requireAdministrator”。阿拉:
您刚刚保存了添加到项目中的可执行文件的副本。现在您需要备份原始文件并将修改后的 exe 复制到您的安装目录。
正如我所说,这可能不是正确的方法,但它似乎有效。如果有人知道需要发生任何负面影响或必要的手腕拍打,请插话!
如果您像我一样使用 Total Commander,您应该为 Total Commander 始终以管理员身份运行。然后,您将能够在同一个 SQL Server 管理实例中双击打开 sql 文件,或者在双击打开任何 Visual Studio 文件而不打开多个实例。
此疑难解答程序将注册表值添加到任何程序的 HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers,因此,如果您想直接编写它,您可以。
RUNASADMIN
,以防您想手动执行。
我在 EightForums (Option 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"
此外,您还可以查看 compatibility troubleshooting
右键单击 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 将检测到这一点,并在需要时以管理员身份重新启动。
不定期副业成功案例分享
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
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
下添加名称为C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe
和值RUNASADMIN
的注册表项。删除条目将恢复设置。