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




visual-studio windows-8 (8)

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

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

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

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


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

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


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

  1. 选择“疑难解答程序”
  2. 选中“该程序需要额外的权限”
  3. 点击下一步”
  4. 点击“测试程序...”
  5. 等待程序启动
  6. 点击下一步”
  7. 选择“是,保存这个程序的这些设置”
  8. 点击“关闭”

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

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


在查看超级用户后,我发现了这个问题 ,它解释了如何使用开始屏幕上的快捷方式执行此操作。 同样,当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的打开实例中。

更新大胆:尽管没有像过去那样关闭UAC的UI,但至少我看到,您仍然可以通过注册表来完成此操作。 编辑的关键是:

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

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


如果项目的应用程序清单指定了一个管理的requestedExecutionLevel ,Visual Studio会自动提升自己,所以你只需要编辑它。 当需要时,Visual Studio会检测到并以管理员身份重新启动。


当我将Visual Studio 2010安装在Visual Studio 2012之外时,VSCommands不适用于我,并导致出现问题。

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

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

这应该可以解决你的问题。 我也为此blogged


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

我知道这有点晚了,但我只是通过修改(读取“hacking”)devenv.exe文件的清单来了解如何执行此操作。 我应该先来这里,因为所述的解决方案似乎更容易一些,并且可能会得到微软的更多支持。 :)

以下是我的做法:

  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”。 A la: <requestedExecutionLevel level="requireAdministrator" uiAccess="false"></requestedExecutionLevel>
  6. 保存文件。

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

正如我所说,这可能不是正确的做法,但它似乎工作。 如果有人知道需要发生的任何负面辐射或必要的手腕拍打,请加入!





uac