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

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

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

我一直在我的机器上禁用UAC,在我升级Windows8之后,我也这样做了,大概我是这么想的。结果是没有off选项,只关闭了通知。

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

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


在Windows 8&10中,您必须右键单击devenv.exe,然后选择"疑难解答兼容性"。

  • 选择"故障排除程序"
  • 选中"程序需要附加权限"
  • 单击"下一步"
  • 单击"测试程序…"
  • 等待程序启动
  • 单击"下一步"
  • 选择"是,保存此程序的这些设置"
  • 点击"关闭"
  • 如果打开Visual Studio时,它要求保存对devenv.sln的更改,请参见此答案以禁用它:

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

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


    在查看超级用户之后,我发现了这个问题,它解释了如何使用开始屏幕上的快捷方式来完成此操作。同样,当Visual Studio固定到任务栏时也可以这样做。在任一位置:

  • 右键单击Visual Studio图标
  • Properties
  • Shortcut tab下,选择Advanced
  • 检查Run as administrator
  • setting default operation in admin mode

    与Windows7不同的是,只有从更改的快捷方式启动应用程序时,这才有效。在更新了两个Visual Studio快捷方式之后,当您从资源管理器打开解决方案文件时,它似乎也可以工作。

    更新警告:以提升的权限运行Visual Studio的主要缺陷之一似乎是,由于资源管理器没有使用它们运行,因此无法将文件拖放到Visual Studio中进行编辑。您需要通过"文件打开"对话框打开它们。也不能双击任何与Visual Studio相关联的文件并在Visual Studio中打开它(除了看起来的解决方案),因为一旦取消选中"始终以提升的权限开始"(使用vscommands),就会收到一条错误消息,提示There was a problem sending the command to the program.",然后我就可以直接打开文件并将它们放到Visual Studio的打开实例中。O

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

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

    更改此窗口后,将提示您重新启动。重新启动后,如果您是管理员,您将返回到具有管理员权限的所有运行状态。我上面提到的问题现在也不复存在了。


    注意:在最新的vs版本(2015年以上)中,此扩展似乎不再存在/具有此功能。

    您还可以下载vs2012的vscommands by squared infinity,它有一个功能可以将其更改为以管理员身份运行(以及其他一些很酷的片段)。

    enter image description here

    更新

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


  • 在Windows 8"开始"菜单上,选择"所有应用程序"
  • 右键单击Visual Studio 2010图标
  • 选择打开文件位置
  • 右键单击Visual Studio 2010快捷方式图标
  • 单击高级按钮
  • 选中"以管理员身份运行"复选框
  • 单击确定

  • 这是我对超级用户类似帖子的回答:

    选项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文件执行相同的操作。这些文件位于:

    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扩展库中),然后将其配置为始终具有Visual Studio的管理员权限,方法是转到"工具"->"vscommands"->"选项"->"IDE增强"->"常规",然后选中"EDOCX1"(7),然后单击"保存"按钮。

    注:vscommands目前不适用于vs 2015,但是他们的网站说他们正在努力更新它以支持vs 2015。

    我的意见

    我更喜欢选项2,因为:

    • 它还允许您轻松关闭此功能。
    • vscommands还有很多其他的重要功能,所以我总是安装它。
    • 这比选项1简单。


    vscommands对我不起作用,在我安装了Visual Studio 2010(Visual Studio 2012除外)时导致了一个问题。

    经过一些试验,我找到了窍门:

    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers添加一个名为"C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe"和值为"RUNASADMIN"的条目。

    这应该能解决你的问题。我也写过博客。


    我在EightForums(选项8)上找到了一个简单的方法,在hkey_current_usersoftwaremicrosoftwindows ntcurrentversionappcompatflagslayers下创建一个字符串值。将程序路径的名称和值设置为~runasdmin。下次打开程序时,它将以管理员身份打开

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

    我知道这有点晚了,但我只是通过修改(阅读,"黑客")devenv.exe文件的清单来解决这个问题。我应该先到这里来,因为所述的解决方案似乎要简单一点,而且可能会得到微软的支持。:)

    我是这样做的:

  • 在VS中创建一个名为"exe清单"的项目。(我想任何版本都可以,但我用的是2013 Pro。而且,你给它起什么名字并不重要。)
  • "将现有项"添加到项目中,浏览到Visual Studio exe,然后单击"确定"。在我的例子中,它是"C:Program Files(x86)Microsoft Visual Studio 12.0Common7idedevenv.exe"。
  • 双击"devenv.exe"文件,该文件现在应作为项目中的文件列出。它应该在资源编辑器中显示exe。
  • 展开"rt_manifest"节点,然后双击该节点下的"1"。这将在二进制编辑器中打开可执行文件的清单。
  • 找到requestedExecutionLevel标记,并将"asinvoker"替换为"requiredMinistrator"。A la:
  • 保存文件。
  • 您刚刚保存了添加到项目中的可执行文件的副本。现在,您需要备份原始文件并将修改后的exe文件复制到安装目录中。

    正如我所说,这可能不是正确的方法,但它似乎有效。如果有人知道任何负面影响或必要的手腕拍打需要发生,请插话!


    如果您像我一样使用total commander,那么您应该对total commander执行相同的操作,以便始终以admin身份运行。然后,您可以在同一个SQL Server管理实例中双击打开SQL文件,或者双击打开任何Visual Studio文件,而不打开多个实例。

    此疑难解答程序将注册表值添加到任何程序的HKEYU CURRENTUSERSOFTWAREMicrosoftWindows NTCurrentVersionAppCompatflagslayers,因此如果您想直接写入,可以。


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


    在Visual Studio上单击鼠标右键,并在每次要打开它时选择"以管理员身份运行"。

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

    • 右键单击Visual Studio>选择"疑难解答兼容性"。
    • 选择故障排除程序。
    • 检查程序是否需要其他权限。
    • 点击测试程序。
    • 等待程序启动。单击"下一步"。
    • 选择"是",保存此程序的这些设置。
    • 等待解决问题。
    • 确保最终状态为"已修复"。单击"关闭"。

    检查详细步骤链接。


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