【问题标题】:How to configure Visual Studio not to give UAC prompt on each run?如何配置 Visual Studio 在每次运行时不提示 UAC?
【发布时间】:2010-10-01 21:30:34
【问题描述】:

我最近切换到了 Vista,我想保持 UAC 处于开启状态,因为我同意它可以大大提高计算机的安全性。我经常使用的一些开发者工具需要运行提升:

  • Windows 版 PIX
  • Visual Studio 2005(调试和 IncrediBuild 工作似乎需要提升的权限)
  • 映射和替换驱动器:提升的进程似乎看不到我在我的用户帐户中映射的驱动器。 This article 描述了该问题,但我不确定如何实施其最终建议以“在提升登录的上下文中映射这些驱动器”

我尝试了很多我发现的建议,Compatibility Administrator 看起来很有希望,但结果仍然不是我想要的。当我使用RunAsInvoker 时,没有UAC 提示,但是Visual Studio 没有工作。当我使用 RunAsAdmin 或 RunAsHighest 时,它可以工作,但是有提示。

有什么方法可以教 UAC 记住某些特定的应用程序应该始终运行提升并且从不提示我这个,或者其他方式如何允许我在没有提示的情况下启动 VS?如果没有办法做到,是否有一些安全原因不能做到?

【问题讨论】:

    标签: visual-studio windows-vista uac


    【解决方案1】:

    试试:

    管理工具 -> 本地安全策略 -> 本地策略 -> 安全选项 -> 用户帐户控制:管理员批准模式下管理员提升提示的行为 = 不提示提升。

    【讨论】:

    • 这是列出的最佳解决方案。适用于 Windows 7
    • 也适用于 Windows 10。
    【解决方案2】:

    我也不得不为我的 2008 开发系统关闭 UAC,尽管我也想使用它。需要跟踪每个应用程序的运行上下文以使诸如在窗口之间拖放、与远程系统交互、调试场景或任何数量的其他任务之类的事情能够工作,这太痛苦了。从理论上讲,UAC 是一个好主意,但似乎并没有付出多少努力来使其对现实世界的高级用户在功能上有用,所以说到底,唯一可行的解​​决方案是完全禁用它。

    据称,Windows 7 在消除持续提示方面会更好一些,但除非它们真的能够解决所有跨应用程序和远程访问问题,否则对于新手用户以外的任何人来说,它仍然是一个非入门者。这是希望他们最终让它真正可用。

    【讨论】:

    • 天啊,是的,跨应用程序问题是最糟糕的 :(。我讨厌以管理员身份运行时无法从 VS 拖放到文件系统。
    【解决方案3】:

    VS 2005 在 Vista 中是一个难题,即使以管理员身份运行也有很多小问题。看看你是否可以升级到 2008,它在 Vista 上运行得更好。

    【讨论】:

      【解决方案4】:

      不幸的是,在 Windows Vista 中,当 UAC 启用时,UAC 提示是强制性的。

      对我有用的一个解决方案是拥有一个提升的命令行和一堆从那里提升以执行某些任务的非 ui shell 脚本。

      为了调试,我还设置了另一台可以运行远程调试会话的计算机,使用 VS 2005 进行配置有点棘手,另外,如果您崩溃/挂起远程会话,它不会崩溃你的主电脑:)

      PD:VS 2008 在 vi​​sta 上比 VS 2005 稍微好一点,如果可以的话,试试吧。

      【讨论】:

      • “UAC 提示在 Windows Vista 中是强制性的” - 不,不是。您可以在控制面板上将其关闭。
      • 但是如果您启用了 UAC,那么它是强制性的。问题是关于禁用提示但保持 UAC 启用,对不起,如果我不清楚..
      • 在这种情况下,您可以使用 gpedit.msc 或 secpol.msc 启用“静默提升”选项 - 此处详述的“无提示”选项:technet.microsoft.com/en-us/library/cc507861.aspx
      【解决方案5】:

      据我所知,您无法获得所需的一切(UAC 开启,VS 在没有提示的情况下工作)。

      但是,有一个比“让其他人使用 LUA 测试它”更好的解决方法:虚拟 PC。使用 Virtual PC(Microsoft 免费提供)创建来宾操作系统。安装 Vista 并设置一个普通用户以及您的默认管理员。使用普通(非提升)用户在该 VPC 上测试您的应用程序。这至少可以为您提供 LUA 问题的早期迹象,而不会让人头疼。

      我同意这有点痛苦(而且我注意到 VS2008 在 Vista 或 Win7 beta 下不会出现 UAC 提示问题),但它就是这样。 VS2005,特别是在调试方面,需要提升以附加到进程等。

      【讨论】:

      • 这并没有解决我的主要问题,即为我的工作站启用 UAC。我仍然很想知道 - 如果我要安装虚拟 PC,它是否允许我: - 运行 DirectX 应用程序(这是我正在开发的) - 从我的 Visual Studio 调试在 VPC 上运行的进程?
      • 您对 VS2008 的评论很有趣。也许这可能是解决方案 - 升级到 VS2008?不运行提升时可以用 VS2008 调试吗?
      • VPC 中的 DirectX 会非常糟糕。你也许能做到,但你的表现会下降。你是个特例,你的日子可能会更艰难。是否可以只为自己设置一个标准用户帐户来运行应用程序以进行 LUA 测试?
      • (这将与调试分开,你仍然需要提升。)说到调试,我不是 100% 确定,只是因为我的商店还没有完全切换到 VS2008然而。 (我已经安装了它,但没有人积极使用它——我们目前正在维护 vs2005 中的旧项目。)
      • 是的,我可以在我的计算机上为自己设置另一个 LUA,但实际上我更容易让测试人员和其他同事(不执行调试或运行 Visual Studio)来执行此操作。
      【解决方案6】:

      为了记录,我目前对这个问题的“解决方案”,经过几天的试验,是:

      • 关闭 UAC
      • 确保其他人定期使用标准用户帐户测试应用程序

      ...即使用以前在 WindowsXP 中工作的相同模式。

      我想看看其他解决方案,但到目前为止,我尝试过的任何东西都没有给我想要的东西,即。 UAC 开启,Visual Studio 工作,并且没有提示运行 VS。我想保持 UAC 开启,但每次运行工具时都无法确认海拔高度,这太烦人了。

      【讨论】:

        【解决方案7】:

        Norton 有一个有趣的工具来调整 UAC 并使其更易于使用...以关于您运行的程序的反馈为 Norton 为代价。这里有一篇很好的文章:

        http://www.betanews.com/article/New_Norton_Vista_tool_trades_UAC_for_online_feedback/1223668881

        下载地址在这里:

        http://www.nortonlabs.com/inthelab/uac.php

        最后,有一个有趣的小工具可以“暂停”UAC,售价 5 美元(30 天试用)。因为我没有亲自尝试过,所以我不能保证这两种工具。

        http://www.uacsnooze.com/

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-12-21
          • 2010-12-11
          • 2015-12-14
          • 1970-01-01
          • 2023-03-04
          • 1970-01-01
          • 2015-11-29
          相关资源
          最近更新 更多