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




visual-studio windows-8 (8)

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

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

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

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

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


只需在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