在Windows 8上始终以管理员身份启动Visual Studio


37

每当我在Windows 8中启动Visual Studio 2012时,它总是需要管理员权限才能访问IIS元数据和调试IIS上的本地Web应用程序。

如果关闭UAC,则无法启动Windows 8模拟器!

有谁知道我怎样才能阻止所有这些安全废话,而让我继续工作呢?


1
在未发布的平台上使用未发布的软件...您可能不得不忍受一些废话。
亚当·金


现在在MSDN上。
Boomerangertanger 2012年

您是否尝试过创建快捷方式并将“运行用户”分配给该快捷方式?
tumchaaditya 2012年

1
默认为不以管理员身份运行。
Boomerangertanger 2012年

Answers:


27
  1. 右键单击Visual Studio 2012的“地铁”图标

  2. 单击“打开文件位置”。使用Visual Studio的快捷方式,它将带您进入经典的Windows桌面。

  3. 右键单击该快捷方式,然后转到“属性”

  4. 点击“高级”

  5. 选中“以管理员身份运行”,然后单击“确定”。

从现在开始,它将始终以具有提升特权的管理员身份启动。

您将需要对Visual Studio拥有的每个快捷方式执行此操作。

即,如果您还将Visual Studio固定到任务栏。

  1. 右键单击该图标。

  2. 右键单击“ Visual Studio 2012”

  3. 然后从上面的步骤3进行。


3
您还知道默认情况下启用“以管理员身份运行”的方法吗?在Windows 8上,它们似乎已经使其只能以用户身份运行,这对最终用户很有意义,但是对于开发人员,我们始终会在无视“单击权限”对话框时就出现一个无用的“需要权限”对话框。

1
从任务栏启动固定或最新解决方案时,我仍然不知道使“运行方式为管理员”首选项保持不变的方法。

9
这不是一个有效的答案。例如,如果您通过打开项目/解决方案而不是通过devenv.exe快捷方式打开Visual Studio,则它将不会以提升权限/管理员身份运行。
nathanchere 2012年

4
FerretallicA的答案是正确的。
詹森·克莱本

1
@ uosɐſ我同意-这不是答案,因为它仅适用于程序本身,而不是直接启动需要VS2012的.sln文件。检查FerretallicA的答案
BritishDeveloper

51

我知道的唯一方法是确保它始终以管理员身份打开(包括从文件关联,跳转列表等打开时):

  1. devenv.exe在资源管理器中找到文件,例如我的文件在C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\

  2. 右键单击devenv.exe,然后选择“故障排除兼容性”

  3. 选择“故障排除程序”

  4. 选择“此程序需要其他权限”

您需要先让它启动VS,然后再单击“下一步”,然后完成。

非常烦人的是,您不能再通过常规属性对话框来执行此操作。就像微软正在竭力确保Windows 8疏远尽可能多的人一样...


2
解决故障的兼容性是解决之道-立即处理所有快捷方式和固定的项目!这应该是标记的答案。
杰森·克莱本


5

在找到此问题之前,我曾在Stack Overflow上发布过有关此问题的信息,然后尝试了此处建议的其他所有答案。我立刻开始遇到一些问题。

当以提升的权限运行VS2012时,我不再能够从资源管理器中将文件拖放到其中,我认为这是因为资源管理器未以提升的权限运行。

然后,当我使用VSCommands始终以提升的权限运行Visual Studio时,除了在解决方案文件中之外,我再也无法通过在资源管理器中双击打开与Visual Studio关联的文件。Visual Studio将打开,但随后我会收到一条错误消息,说There was a problem sending the command to the program.它们不会打开。

如果我要打开任何非解决方案/项目文件,这使我不得不使用“打开文件”对话框。

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

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

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


感谢您提供如此详细的答案。不幸的是,如果没有打开UAC,则诸如SkyDrive之类的Metro应用将无法运行。因此,恐怕这不是可行的解决方案。唯一的方法是在devenv.exe的兼容性设置中设置“以管理员身份运行”。谢谢
Boomerangertanger 2012年

我正在运行SkyDrive的16.4.6010.0727版本,它可以同步我的文件。在SkyDrive文件夹中时,我不再有覆盖图标,但同步仍然有效。至于地铁应用程序...我一直在避开它们。我不仅不喜欢win8的那部分,而且这对我来说也让生活更加困难,正如您在UAC中所看到的那样。从外观上看,这似乎是Win8和vs2012的目标。
Brian Surowiec 2012年

我不确定您为什么不喜欢Metro,它只是图标和应用程序的负载,就像Windows 1.0到Windows 7一样,除了图标是方形的而且应用程序是全屏的。我不知道为什么您的生活会更艰难,因为当您按开始键并键入内容时,列表会弹出,并且您像平常一样按Enter键。
Boomerangertanger 2012年

4

选项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 2019

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\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容易做。

vscommands.squaredinfinity.com在VS 2015中似乎不可用。–
Naomi

1
@Naomi是的,我在帖子中指出了这一点。他们说尽管他们正在努力,所以希望他们会在今年晚些时候推出VS 2015兼容版本。
deadlydog '16

顺便说一句,我昨天在Windows 10中尝试了启动器的第一个选项,但没有用。VS仍然可以正常启动。我也无法更改快捷方式的“高级”属性-我
Naomi

@Naomi hmmm,您是否以管理员身份登录计算机?
deadlydog '16

3

对我来说,每种解决方案都有一些主要缺点。我出现的唯一好方法是在注册表中进行破解。您可能想阅读我有关此问题的文章(http://daniellang.net/always-run-visual-studio-as-administrator-in-windows-8/)或直接修复它:

转到HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers并添加名称C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe和值的条目RUNASADMIN。这将使VS以管理员身份启动。


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

1

在将我的项目存储在“我的文档”中时,在带有VS Express 2013的Win8计算机上,出现了问题。我在带有较旧VS的Win7机器上也看到了这一点。当我创建一个新项目/将其移动到其他位置(例如C:/ Programming /)时,它应能正常工作!


0

一位同事告诉我的一个解决方案是为您的每个解决方案创建Task Scheduler任务。该任务通过加载项目的命令行启动Visual Studio。

这是您必须设置的值:

  • 给它一个任务名称,以反映正在打开的项目(稍后将使用它)
  • 以最高特权运行
  • 仅在用户登录时运行
  • 创建一个动作:
    • 行动:启动程序
    • 程序/脚本:“ C:\ Program Files(x86)\ Microsoft Visual Studio [xx] .0 \ Common7 \ IDE \ devenv.exe”(用您的VS版本替换[xx])
    • 参数:/ Project“ [您的解决方案的完整路径] .sln”
  • 条件:
    • 取消选中所有项目
  • 设定:
    • 选中允许任务按需运行
    • 取消选中所有其他项目
    • 任务运行规则:请勿启动新实例(可选)

好的,现在您可以通过右键单击任务并运行它来进行测试。如果效果很好,则在某处创建任务的快捷方式。

右键单击所需的快捷方式,然后选择“创建快捷方式”。这是放入快捷方式的命令行:

C:\ Windows \ System32 \ schtasks.exe / run / tn“ [以上任务名称]”

现在,您可以双击快捷方式以以管理员身份运行解决方案,而无需触发UAC。

编辑:在写完上面的文章后,我在tomssl.com上找到了一篇文章,该文章提供了更灵活的解决方案(不需要为每个解决方案创建任务)。最初的设置比较复杂,但从长远来看更易于使用。

始终以管理员身份运行Visual Studio,而没有UAC提示

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.