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

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

我一直在我的机器上禁用UAC,并且在Windows 8升级后也一样,所以我想。 事实certificate,没有off选项,只closures通知。

这意味着即使在pipe理员组中,也不会以pipe理员身份运行。 当我尝试debugging(附加到进程,而不是F5 )时,我需要继续closures并重新打开我的控制台\ Visual Studio,这非常令人沮丧。

这真的很烦人,我需要记住采取额外的步骤来打开它作为pipe理员或告诉它closures和重新打开,当我第一次去debugging。

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

  1. select“疑难解答程序”
  2. 检查“该程序需要额外的权限”
  3. 点击下一步”
  4. 点击“testing程序…”
  5. 等待程序启动
  6. 点击下一步”
  7. select“是,保存这个程序的这些设置”
  8. 点击“closures”

如果在打开Visual Studio时它会要求保存对devenv.sln的更改,请参阅此答案以禁用它:

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

在超级用户看后,我发现这个问题 ,解释如何做到这一点与开始屏幕上的快捷方式。 同样,当Visual Studio固定到任务栏时,也可以做同样的事情。 在任一位置:

  1. 右键单击Visual Studio图标
  2. Properties
  3. Shortcut tabselectAdvanced
  4. Run as administrator

在管理员模式下设置默认操作

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

更新警告:它看起来像运行Visual Studio具有提升的权限的主要缺陷之一,因为资源pipe理器不与他们一起运行,你不能拖放文件到Visual Studio进行编辑。 您需要通过文件打开对话框打开它们。 你也不能双击与Visual Studio相关联的任何文件,并在Visual Studio中打开它(除了看起来像解决scheme),因为你会得到一个错误消息说, There was a problem sending the command to the program. 一旦我不select总是以提升的权限开始(使用VSCommands),那么我可以直接打开文件并将其放入Visual Studio的打开实例中。

大胆的更新:尽pipe没有像过去那样closuresUAC的UI,但是我至less还是可以看到的,你仍然可以通过registry来完成。 编辑的关键是:

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

改变这个Windows后会提示你重启。 重新启动后,如果您是pipe理员,您将回到使用pipe理员权限运行的所有内容。 我上面报告的问题现在也没有了。

您还可以通过Squared Infinity下载VS2012的VSCommands ,该function可以将其更改为以admin身份运行(以及其他一些很酷的零碎部件)

在这里输入图像描述

更新

可以使用Tools – > Extensions and UpdatesselectOnline和searchvscommands命令从Visual Studio菜单栏中的命令,然后selectVSCommands for Visual Studio 20XX取决于使用2012年或2013年(或更大的前进),下载并安装。

  1. 在Windows 8开始菜单中select所有应用程序
  2. 右键单击Visual Studio 2010图标
  3. select打开文件位置
  4. 右键单击Visual Studio 2010快捷方式图标
  5. 点击高级button
  6. 选中以pipe理员身份运行checkbox
  7. 点击OK

这是我对超级用户的类似post的答案的副本:

选项1 – 将VSLauncher.exe和DevEnv.exe设置为始终以admin身份运行

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

  1. 导航到C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe
  2. 用鼠标右键单击VSLauncher.exe并select疑难解答兼容性
  3. select疑难解答程序
  4. 检查程序需要额外的权限,然后点击下一步。
  5. 点击testing程序…button启动VS.
  6. 点击下一步,然后点击是,为这个程序保存这些设置 ,然后closuresbutton。

直接打开 Visual Studio时使Visual Studio始终以pipe理员身份运行,请对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增强 – >常规来configuration它始终以pipe理员权限启动Visual Studio,然后选中Always start Visual Studio with elevated permissions然后单击保存button。

注意:目前VSCommands目前不适用于VS 2015,但他们的网站说他们正在更新它以支持VS 2015。

我的想法

我更喜欢选项2,因为:

  • 它也使您可以轻松closures此function。
  • VSCommands附带很多其他强大的function,所以我总是安装它。
  • 这比scheme1要容易得多。

VSCommands没有为我工作,并导致了一个问题,当我安装Visual Studio 2012的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"

这应该可以解决你的问题。 我也曾经就此发表过博客

如果你像我一样使用Total Commander ,你应该这样做Total Commander作为pipe理员总是运行。 然后,您将能够在相同的SQL Serverpipe理实例中双击打开SQL文件,或者双击打开任何Visual Studio文件,而不打开多个实例。

此疑难解答程序将registry值添加到任何程序的HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers,所以如果你想直接写它,你可以。

我知道这有点晚了,但我只是想通过修改(读取“hacking”)devenv.exe文件的清单来做到这一点。 我应该先来这里,因为所述的解决scheme似乎更容易一些,而且可能会得到微软更多的支持。 🙂

以下是我如何做到的:

  1. 在VS中创build一个名为“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. findrequestedExecutionLevel标签并用“requireAdministrator”replace“asInvoker”。 la: <requestedExecutionLevel level="requireAdministrator" uiAccess="false"></requestedExecutionLevel>
  6. 保存文件。

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

正如我所说,这可能不是正确的做法,但它似乎工作。 如果有人知道需要发生的负面影响或必要的手腕拍打,请加上!

只需在程序文件目录(或其他位置)find该程序。 右键单击EXE文件,在底部的第二个选项卡上,选中强制使用pipe理权限运行该程序的checkbox。 从现在开始,EXE文件的所有快捷方式都将以pipe理权限被解雇:)

我find了一个简单的方法来在EightForums( 选项8 )上执行此操作,在HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers下创build一个string值。 将名称设置为程序的path,并将值设置为〜RUNASDMIN。 下次打开程序时,它将以pipe理员身份打开

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

右键单击visual studio,然后select每次打开时以pipe理员身份运行

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

  • 右键单击Visual Studio>select疑难解答兼容性。
  • select程序疑难解答。
  • 检查该程序需要额外的权限。
  • 点击testing程序。
  • 等待一段时间,直到程序启动。单击下一步。
  • select是,保存这个程序的这些设置。
  • 等待解决这个问题。
  • 确保最终状态是固定的。点击closures。

检查详细步骤链接 。

如果项目的应用程序清单指定pipe理的requestedExecutionLevel ,Visual Studio自动提升自己,所以你只需要编辑它。 Visual Studio将检测到并在需要时以pipe理员身份重新启动。