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

时间:2012-09-04 05:07:37

标签: visual-studio windows-8 uac

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

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

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

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

13 个答案:

答案 0 :(得分:1950)

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

  1. 选择“排除程序故障”
  2. 选中“该程序需要其他权限”
  3. 点击“下一步”
  4. 点击“测试程序......”
  5. 等待程序启动
  6. 点击“下一步”
  7. 选择“是,保存此程序的这些设置”
  8. 点击“关闭”
  9. 如果在打开Visual Studio时它要求保存对devenv.sln的更改,请参阅此答案以禁用它:

    Disable Visual Studio devenv solution save dialog


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

答案 1 :(得分:163)

在查看超级用户后,我找到了this question,其中解释了如何使用开始屏幕上的快捷方式执行此操作。同样,当Visual Studio固定到任务栏时,您也可以这样做。在任何一个地方:

  1. 右键单击Visual Studio图标
  2. 转到Properties
  3. Shortcut tab选择Advanced
  4. 检查Run as administrator
  5. setting default operation in admin mode

    与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后,将提示您重新启动。重新启动后,如果您是管理员,您将返回使用管理员权限运行的所有内容。我上面报告的问题现在也消失了。

答案 2 :(得分:59)

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


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

enter image description here

<强>更新

可以使用Tools - &gt; Extensions and Updates选择Online并搜索vscommands,然后选择VSCommands for Visual Studio 20XX,从Visual Studio菜单栏安装命令取决于使用2012年或2013年(或更高版本)以及下载和安装。

答案 3 :(得分:36)

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

答案 4 :(得分:21)

这是my answer to a similar post on SuperUser的副本:

选项1 - 将VSLauncher.exe和DevEnv.exe设置为始终以管理员身份运行

要在打开任何.sln文件时始终以管理员运行Visual Studio

  1. 导航至C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe
  2. 右键点击VSLauncher.exe,然后选择排查兼容性
  3. 选择排查程序
  4. 选中该程序需要其他权限,然后点击下一步。
  5. 点击测试程序... 按钮启动VS。
  6. 点击下一步,然后点击是,保存此程序的这些设置,然后点击关闭按钮。
  7. 要让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扩展

    安装免费的VSCommands extension for Visual Studio(它在the Visual Studio Extensions Gallery中),然后将其配置为始终让Visual Studio以管理员权限启动,方法是转到工具 - &gt; VSCommands - &gt;选项 - &gt; IDE增强功能 - &gt;一般并勾选Always start Visual Studio with elevated permissions并单击“保存”按钮。

    注意: VSCommands目前不适用于VS 2015,但他们的网站表示他们正在努力更新它以支持VS 2015.

    我的意见

    我更喜欢选项2,因为:

    • 它还允许您轻松关闭此功能。
    • VSCommands带有许多其他强大的功能,所以我总是安装它。
    • 它比选项1更容易。

答案 5 :(得分:14)

VSCommands对我没有用,并且在Visual Studio 2010安装Visual Studio 2010时出现了问题。

经过一些实验后,我找到了诀窍:

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

这应该可以解决您的问题。我也blogged就此而言。

答案 6 :(得分:6)

如果你像我一样使用 Total Commander ,你应该为Total Commander做同样的事情,以管理员的身份运行。然后,您可以在同一个SQL Server管理实例中双击打开sql文件,或者双击打开任何Visual Studio文件,而不打开多个实例。

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

答案 7 :(得分:6)

我知道这有点晚了,但我只是想通过修改(读取,&#34; hacking&#34;)devenv.exe文件的清单来弄清楚如何做到这一点。我应该首先来到这里,因为所述解决方案似乎更容易一些,并且可能更多地得到Microsoft的支持。 :)

以下是我的表现:

  1. 在VS中创建一个名为&#34; Exe Manifests&#34;的项目。 (我认为任何版本都可以使用,但是我使用的是2013 Pro。此外,你的名字并不重要。)
  2. &#34;添加现有项目&#34;到项目,浏览到Visual Studio exe,然后单击“确定”。就我而言,它是&#34; C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ devenv.exe&#34;。
  3. 双击&#34; devenv.exe&#34;现在应该在项目中列为文件的文件。它应该在资源编辑器中显示exe。
  4. 展开&#34; RT_MANIFEST&#34;节点,然后双击&#34; 1&#34;在那之下。这将在二进制编辑器中打开可执行文件的清单。
  5. 找到requestedExecutionLevel标记并替换&#34; asInvoker&#34;用&#34; requireAdministrator&#34;。答:<requestedExecutionLevel level="requireAdministrator" uiAccess="false"></requestedExecutionLevel>
  6. 保存文件。
  7. 您刚刚保存了添加到项目中的可执行文件的副本。现在,您需要备份原始文件并将已修改的 exe文件复制到安装目录。

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

答案 8 :(得分:6)

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

答案 9 :(得分:5)

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

答案 10 :(得分:4)

右键单击visual studio并在每次打开时选择以管理员身份运行

此外,您还可以查看兼容性问题排查

  • 右键单击Visual Studio&gt;选择“疑难解答兼容性”。
  • 选择“疑难解答程序”。
  • 检查程序需要其他权限。
  • 点击测试程序。
  • 等待片刻直到程序启动。单击“下一步”。
  • 选择是,保存此程序的这些设置。
  • 等待解决问题。
  • 确保最终状态已修复。点击关闭。

检查详细步骤link

答案 11 :(得分:2)

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

答案 12 :(得分:0)

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

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.

大功告成。