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


1013

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

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

这意味着尽管位于管理员组中,但没有任何人以管理员身份运行。当我尝试调试(附加到进程,而不是F5)时,我需要保持关闭并重新打开consoles \ Visual Studio ,这非常令人沮丧。

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


6
我认为这是一个有效的问题,但我想您也应该在SuperUser上提出问题-可能会有一个普遍的答案。
Preet Sangha

4
如果需要以管理员身份启动VS,则您的文件权限错误。他们很容易与禁用UAC混淆。
KeatsPeeks 2014年

19
@Keats具有管理权限才能在IIS上运行ASP.NET应用程序(因为它将尝试自动创建虚拟目录等)
codemonkeh 2014年

4
我觉得@camelBase应该使程序仅在需要时才能以管理员身份运行。通常,它们应在较低的特权下运行。我就是做这个的。
VivekDev '16

1
您实际上不应该这样做,因为如果您使用2个项目,并且只有一个需要以管理员身份运行,则您不应该以管理员身份启动另一个实例。
Phil1970

Answers:


2013

在Windows 8和10中,您必须右键单击devenv.exe并选择“兼容性故障排除”。

  1. 选择“故障排除程序”
  2. 选中“程序需要其他权限”
  3. 点击下一步”
  4. 点击“测试程序...”
  5. 等待程序启动
  6. 点击下一步”
  7. 选择“是,为程序保存这些设置”
  8. 点击“关闭”

如果在打开Visual Studio时要求将更改保存到devenv.sln,请参见以下答案以将其禁用:

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


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


40
这是我遇到的最好的解决方案。现在,我可以再次从Windows资源管理器中打开.sln文件!
马克斯·席林

39
同样,它也解决了能够以管理员身份运行的固定解决方案。谢谢。
伯尔尼

183
C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe如果安装了多个版本的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
致命狗

61
您如何将其恢复为原来的状态?
罗伯特·科里特尼克

96
@RobertKoritnik这是添加具有名称注册表项的等效C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe和值RUNASADMIN之下HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers。删除条目将还原设置。
Piotr Szmyd

168

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

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

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

更改此Windows后,将提示您重新启动。重新启动后,如果您是管理员,将回​​到拥有管理员权限运行的所有内容。我上面报告的问题现在也消失了。


9
如果关闭UAC,则某些Metro应用程序(例如SkyDrive)将不再起作用。
krisdyson 2012年

1
对于Windows 8,TigerShark(在资源管理器中右键单击devenv.exe,进行故障排除..)下面的回答似乎是一个更完整的解决方案。
詹姆斯·怀特

3
@ClaraOnager右键单击开始屏幕中的图标,然后选择“打开文件位置”。这将打开保存快捷方式的文件夹,然后您可以从那里查看其属性。
Brian Surowiec

19
@Boomerangertanger哦,不,不是我的地铁应用程序!</ sarcasm>
罗伯特·

2
地铁应用程序摇摇欲坠。结束。
krisdyson

59

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


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

在此处输入图片说明

更新资料

可以使用Tools-> Extensions and Updates选择Online并搜索vscommands然后从何处安装Visual Studio菜单栏中的命令,VSCommands for Visual Studio 20XX具体取决于使用2012还是2013(或更高版本),然后下载并安装。


2
我在更新快捷方式权限后安装了此文件,因此我不确定这会有什么不同。除了该插件的管理员权限外,还有一些不错的功能,值得单独查看。
Brian Surowiec 2012年

3
从任务栏快捷方式的快速访问菜单启动项目时,VSCommands功能也可以使用。很棒的东西!
肖恩·基伦

@BrianSurowiec所做的工作将其放入VS的启动过程中,因此,如果它不以admin身份运行,则会杀死自身并以admin权限启动一个新实例
不喜欢

@DaveInCaz可悲的是。我想他停止了。我已经编辑了答案以注意这一点。
不爱的

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

2
好的答案,但仅在从图标启动时有效,如果右键单击图标并启动固定的解决方案,则无效。在Windows 8和10上进行了尝试,到目前为止,只有故障排除方法对我启动固定解决方案有效。
djangojazz

23

这是我对SuperUser上类似帖子的回答的副本:

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

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

  1. 导航至C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe
  2. 右键单击VSLauncher.exe并选择“ 对兼容性进行故障排除”
  3. 选择“ 故障排除程序”
  4. 选中该程序需要其他权限,然后单击“下一步”。
  5. 单击“ 测试程序...”按钮以启动VS。
  6. 点击下一步,然后打是,保存这些设置这个程序,然后关闭布敦。

要使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扩展库中),然后通过转到工具-> VSCommands->选项-> IDE增强->常规,将其配置为始终使Visual Studio以管理员特权开头。Always start Visual Studio with elevated permissions然后单击“保存”按钮。

注意: VSCommands当前不适用于VS 2015,但他们的站点表示他们正在努力对其进行更新以支持VS 2015。

我的想法

我更喜欢选项2,因为:

  • 它还使您可以轻松关闭此功能。
  • VSCommands还具有许多其他出色的功能,因此无论如何我总是要安装它。
  • 这比方法1容易。

1
Windows 10-每次我打开.sln文件时,VS 2015都会问我是否要将更改保存到devenv.exe
FrenkyB 2016年

1
@FrenkyB您是否执行了VS 2015的选项1列出的步骤?将其设置为以管理员身份运行应该可以解决该问题。stackoverflow.com/a/14423461/602585
deadlydog '16

1
现在可以使用了。我已经保存了devenv.exe,并且不再抱怨了。
FrenkyB

15

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

这应该可以解决您的问题。我也写了博客


由于某种原因,这对我不起作用,但是添加条目HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers就可以了。
Piotr Szmyd

1
这个答案在功能上是否与前两个相同?
莫里·马克维兹

7

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

这是我的操作方式:

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

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

就像我说的那样,这可能不是正确的方法,但似乎可行。如果有人知道需要进行任何负面影响或必要的打手腕,请发出提示!


如果执行此操作,则将无法以LUser身份运行该应用程序,除非具有已知的正当理由(例如,自动配置IIS)需要
EKW

6

如果您使用Total Commander像我一样,则应该始终执行Total Commander以始终以admin身份运行。然后,您将可以在同一SQL Server管理实例中双击打开sql文件,或者双击打开任何Visual Studio文件,而不必打开多个实例。

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


1
它基本上是向该注册表路径添加一个新的字符串值,名称是可执行文件的完整路径(不带引号),数据是RUNASADMIN,以防您需要手动执行操作。

6

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

5

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


1
这适用于“属性”窗口具有“兼容性”选项卡的所有系统,而Windows 8则没有(“ Windows 8.1”具有)“兼容性”选项卡。
ThePyroEagle,2013年

5

另外,您可以检查兼容性疑难解答

  • 右键单击Visual Studio>选择“疑难解答”。
  • 选择“疑难解答程序”。
  • 选中程序需要其他权限。
  • 单击测试程序。
  • 等待片刻,直到程序启动。点击下一步。
  • 选择是,为该程序保存这些设置。
  • 等待解决问题。
  • 确保最终状态是固定的。单击关闭。

检查详细步骤,以及在Visual Studio中始终以Admin身份打开VS的其他方法要求应用程序具有提升的权限


2

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.