您是否可以强制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“疑难解答兼容性”。
- select“疑难解答程序”
- 检查“该程序需要额外的权限”
- 点击下一步”
- 点击“testing程序…”
- 等待程序启动
- 点击下一步”
- select“是,保存这个程序的这些设置”
- 点击“closures”
如果在打开Visual Studio时它会要求保存对devenv.sln的更改,请参阅此答案以禁用它:
禁用Visual Studio devenv解决scheme保存对话框
在超级用户看后,我发现这个问题 ,解释如何做到这一点与开始屏幕上的快捷方式。 同样,当Visual Studio固定到任务栏时,也可以做同样的事情。 在任一位置:
- 右键单击Visual Studio图标
- 去
Properties
- 在
Shortcut tab
selectAdvanced
-
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 Updates
selectOnline
和searchvscommands
命令从Visual Studio菜单栏中的命令,然后selectVSCommands for Visual Studio 20XX
取决于使用2012年或2013年(或更大的前进),下载并安装。
- 在Windows 8开始菜单中select所有应用程序
- 右键单击Visual Studio 2010图标
- select打开文件位置
- 右键单击Visual Studio 2010快捷方式图标
- 点击高级button
- 选中以pipe理员身份运行checkbox
- 点击OK
这是我对超级用户的类似post的答案的副本:
选项1 – 将VSLauncher.exe和DevEnv.exe设置为始终以admin身份运行
在打开任何.sln文件时,要使Visual Studio始终以pipe理员身份运行:
- 导航到
C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe
。 - 用鼠标右键单击
VSLauncher.exe
并select疑难解答兼容性 。 - select疑难解答程序 。
- 检查程序需要额外的权限,然后点击下一步。
- 点击testing程序…button启动VS.
- 点击下一步,然后点击是,为这个程序保存这些设置 ,然后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似乎更容易一些,而且可能会得到微软更多的支持。 🙂
以下是我如何做到的:
- 在VS中创build一个名为“Exe Manifests”的项目。 (我认为任何版本都可以使用,但是我使用了2013 Pro。同样,这个名字也没有关系。)
- 将“添加现有项目”添加到项目中,浏览到Visual Studio exe,然后单击“确定”。 在我的情况下,它是“C:\ Program Files文件(x86)\ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ devenv.exe”。
- 双击现在应在项目中列为文件的“devenv.exe”文件。 它应该调出资源编辑器中的exe。
- 展开“RT_MANIFEST”节点,然后在其下双击“1”。 这将在二进制编辑器中打开可执行文件的清单。
- findrequestedExecutionLevel标签并用“requireAdministrator”replace“asInvoker”。 la:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"></requestedExecutionLevel>
- 保存文件。
您刚刚保存了添加到项目中的可执行文件的副本。 现在您需要备份原始文件并将修改的 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理员身份重新启动。