【问题标题】:When developing, do you turn off UAC in Vista?开发时,Vista中是否关闭UAC?
【发布时间】:2008-09-24 16:57:49
【问题描述】:

我直到 5 月左右才升级到 Vista,我经常听到我在现实生活中认识的开发人员说的一件事是“你应该做的第一件事就是关闭 UAC 垃圾”

嗯,出于几个原因,我一直把它放在一边。首先,如果我做了一些愚蠢的事情,比如暂时失去理智并运行电子邮件中的附件,或者如果我查看某个站点遇到了一些未修补的漏洞,则可以作为故障保险。其次,作为一项大型实验,看看它到底是好是坏。

最后,我认为它强制执行了一些更好的做法。我曾经在 Windows 中直接在 inetpub\wwwroot 中开发每个网站(Visual Studio .NET 2003 或多或少需要这个),但现在我在其他地方开发它们,因为 UAC clickfest 是一场噩梦。我认为这是微软的说法“你应该真的这样做”。

通过另一个类比 - 如果您编写了一个可以在 XP 和 2000 上运行的 Web 应用程序,但需要关闭 Server 2003 的 50 种不同的安全功能,那么真正的解决方案可能是只修复应用程序,使得它不需要关闭安全功能。

但现在我不得不使用一个真正设计为在 inetpub/wwwroot 之外开发的应用程序,因此 UAC 真的很麻烦。纠正这一点超出了项目的范围。我想坚持我的立场并让 UAC 保持打开状态,但我也担心每次需要修改文件时都会自动单击“是”或“允许”三次。

我只是头脑简单吗? Vista 上的大多数开发人员是打开还是关闭 UAC?对于上面描述的例子,有没有更好/更简单的方法?

【问题讨论】:

    标签: windows-vista uac


    【解决方案1】:

    我认为有必要在测试机器上保留 UAC,这样您就可以看到真实用户在使用您的应用时会看到什么。但是,我在我的开发机器上关闭了它,因为我发现它会分散注意力,并且我相信自己足够不需要它。

    (希望你的测试机器!= 你的开发机器对吗?)

    说了这么多,我支持 UAC,我不建议其他人关闭它,尤其是“普通用户”。

    【讨论】:

    • 最近让我想到这一点的是我正在开发的一个网络应用程序。 “测试”在 QA 服务器上。我想这有点不同,因为我不担心客户可以对那台机器做什么,而不是他们可能在他们的机器上运行什么。
    【解决方案2】:

    我在标准用户帐户中编码,并打开了 UAC。

    【讨论】:

      【解决方案3】:

      不,我不会关闭 UAC。

      用 IIS 编写 C# winform 和 web。数据库是progresql。无需为 UAC 烦恼。有些程序只需要 1 次授权,没什么大不了的。

      【讨论】:

        【解决方案4】:

        我保持 UAC 开启。我发现在类似于我的最终用户的环境中进行开发很有用。这样,如果我编写任何试图从受限区域读取/写入的代码,我会更快地了解它。

        【讨论】:

          【解决方案5】:

          刚开始使用新系统时,UAC 非常烦人。问题是,当您第一次开始新安装时,您需要设置各种程序并调整设置。您似乎每 5 分钟看到一次 UAC 提示。

          过了一会儿,发生了两件事:

          1. 您没有设置那么多新东西。
          2. 您对提示有点习惯了。

          在这一点上,UAC 不再那么糟糕了。我开启了 UAC,但在过去几周内我只看到了一两个提示。完美是正确的:如果我看到一个我没想到的提示,我会确保我真的想要继续。

          我会争辩说第二种效果会破坏目的。他们应该做的是默认禁用 UAC,但仅限第一个月。在第一个月提示您打开 UAC 之后,不真正阅读内容的人的默认选项是打开它。这样人们就不会在他们的设置阶段感到烦恼,并且更容易就你想用 UAC 做什么做出明智的选择。

          【讨论】:

          • 没有人问你喜欢或不喜欢 UAC 的哪些方面。
          • @Joel:我根本不这么看你的答案。关于如何将 UAC 设计得比 MS 更好,这只是长篇大论。这在很大程度上是题外话。
          • 我试图包含争论另一方的人可能没有充分考虑的信息。不过,最后一段有点离题。
          • 我使用内置管理员帐户进行初始设置(无需提升),然后恢复为标准帐户。
          • @Zooba:有理由不这样做。一些安装程序的工作方式是安装的程序需要提升才能启动。因此,您又会看到过多的 UAC 提示。
          【解决方案6】:

          我把它打开

          【讨论】:

            【解决方案7】:

            我保留它,但将其设置为在必要时自动提升权限。这是一个很好的区别,但仍然是一个区别。

            【讨论】:

              【解决方案8】:

              Microsoft SQL Server 等服务以管理员权限运行。另一方面,Visual Studio 没有。大多数开发者工具也不行。

              我大量使用虚拟机来 1) 确保我的开发环境始终是安全的,并且 2) 来测试有可能离开的软件我的机器FUBAR。并且 3) 限制停机时间,恢复我的开发环境,“以防我做了一些愚蠢的事情,比如一时失去理智并从电子邮件中运行附件” :)

              【讨论】:

                【解决方案9】:

                按照http://www.win2008workstation.com/wordpress/ 上的建议,我一直在我的工作站中使用 Windows 2008,它对我来说非常有用。我不记得关闭了 UAC,但我肯定没有遭受过这种情况,所以我猜它已经关闭了。

                正如其他人所说,您确实需要将测试 [虚拟] 机器配置为尽可能接近您的用户将拥有的机器,这样您在部署应用时不会有任何意外。

                【讨论】:

                  【解决方案10】:

                  我认为你是否这样做应该取决于你的应用程序的目标受众,尽管我完全可以理解人们禁用它。

                  如果您的所有用户都在禁用 UAC 的情况下运行 Vista,那么我认为您可以将其关闭,但这可能是不现实的 - 或可取的。在光谱的另一端,我们的应用程序被大量的人使用,从 Win2k 开始,Windows 的每个可能的版本和配置,显然包括 Vista 和 Server 2008。因为我们是一个无法控制用户的 ISV ' 环境,或者关于管理它们的权限和管理的策略,我总是让 UAC 处于启用状态——即使它有时让我非常恼火——因为这样我就知道它可能会导致人们更快地使用我们的应用程序而不是稍后。

                  免责声明:我的大部分实际编码时间都花在了 Windows XP 上,尽管我的桌下有一台 Vista 64 位测试机,我每天都使用它来进行测试。一般来说,我会在 20% 到 30% 的时间里使用这个盒子。

                  【讨论】:

                    【解决方案11】:

                    开发或不开发 - 是我安装 vista 后做的第一件事。充其量只是看起来很烦人。

                    【讨论】:

                      【解决方案12】:

                      与其运行防病毒软件来消耗我的 CPU 周期(我需要尽可能多的 RDP 和 VM 一直在运行)。我只是让 UAC 保持打开状态,以确保仔细检查并确保只有某些东西运行。它不仅如此,它还限制程序对敏感区域的访问,因此如果没有您通过 UAC 允许,程序基本上不能破坏您的系统。我还没有遇到问题,我的系统只运行我需要它运行的东西,快速而平稳。

                      【讨论】:

                        【解决方案13】:

                        这对我来说太烦人了,我一安装 Vista 就关闭了。

                        【讨论】:

                          【解决方案14】:

                          我一安装操作系统就将其关闭。无休止的模态对话框的安全性根本没有安全性。普通用户会在几周左右后习惯于点击更多的“确定”按钮。

                          编辑:哇,被否决了是吧?一定是附近的一些微软员工...当然应该留在测试机器上,可能应该提到这一点。

                          【讨论】:

                          • 您的第三句话几乎听起来好像您在说“随心所欲地开发您的应用程序,人们只需要习惯安全提示” - 这不是您的意思。另外,如果对话的安全性不是安全性,那又是什么?对于它的价值,Linux 做同样的事情。
                          • @schnapple Linux 不做同样的事情。在最后一次使用后,它会让 sudo “解锁”一段时间。仅当您在一定时间内不使用 sudo 时,它才会提示您输入密码。
                          • @epochwolf:这是真的。但难道不能说这不如 Vista 安全吗?
                          【解决方案15】:

                          我在我正在使用的计算机上将其关闭。

                          测试时,我在目标环境中进行测试,这意味着我可能会打开或关闭 UAC。

                          我认为使用它进行开发没有任何好处。

                          【讨论】:

                          • 我希望当人们标记你时,他们会解释原因。我相信测试需要打开和关闭它,我想我需要有人解释为什么这样不好??
                          【解决方案16】:

                          我觉得它非常烦人并一直将其关闭,我相信自己足够不必安装故障保险柜。如果我搞砸并运行一些狡猾的应用程序,那是我的坏事,我将承担后果。与此同时,我不会花 5 分钟的时间去点击一些该死的烦人的弹出窗口。

                          【讨论】:

                            【解决方案17】:

                            我没有,但那是因为我太相信自己了。有趣的是,它似乎让普通用户(我住在德克萨斯州的 Jourdanton,我们这里有很多“普通用户”在偏僻的地方)害怕控制面板,因为它会导致所有这些奇怪的提示出现如果他们开始四处寻找,并且每 5 分钟想要一次他们的密码。

                            也就是说,我认为这取决于您对该系统的专业知识水平。在您的开发机器上,是的,绝对要关闭该死的东西。这周我每天都不需要安装或更新某些软件,而且我不喜欢必须将自己提升为管理员身份才能这样做。

                            真正想要的是能够让它提升一段时间,或者说在我注销时自动重新打开,这样我就可以完成整个会话的价值安装东西而不被打扰,然后在我完成后再次安全并且(不可避免地)必须重新启动机器,这似乎是现在 Windows 安装程序的常见做法。

                            除此之外,我认为对于您的测试机器,它绝对应该开启。不是因为我一定同意该功能(就像我同意管理员帐户应该永久禁用一样,我太喜欢该帐户了),而是因为用户很可能将其打开,并且您需要查看您的通过他们的眼睛编程。如果您的程序需要提升,例如更改设置或修改某个目录,则尤其如此,以便您可以提示用户接受程序中的 UAC 警告,这为用户增加了一层额外的舒适感我想。

                            哦,至于一个节目,让我稍微强调一下。程序不应该在主头文件中的某处有一个定义,告诉它它的“工作目录”在哪里吗?如果情况已经如此,那么为什么将工作目录更改到其他地方这么难呢?如果不是这种情况,那就太丢脸了,你应该去解决这个问题。 ^_^ 这样就省去了很多麻烦。

                            -尼古拉斯

                            【讨论】:

                              【解决方案18】:

                              我遇到了一些问题,即我们的构建脚本执行操作注册表项或向 GAC 添加内容等操作。我们正试图摆脱这些东西,但在我们这样做之前,它就在那里并且需要特权升级。因此,构建脚本从管理员命令窗口运行。当我打开 Visual Studio 2008 并尝试构建应用程序的一部分时,问题就出现了 - 我不能作为普通用户,因为输出文件无法被覆盖,因为管理控制台中的构建会以更高的速度生成相同的文件特权级别。这让我很沮丧,我认为最好的方法是暂时关闭 UAC,但我非常不愿意这样做。

                              【讨论】:

                              • 尝试以管理员身份运行visual studio
                              【解决方案19】:

                              因为我有构建后脚本可以将可执行文件复制到 Program Files 目录中进行测试,所以我以提升的权限运行 Visual Studio。

                              我发现一个让生活更轻松的提示是,使用提升的权限快速启动命令提示符,您可以:

                              1. 按窗口键
                              2. 键入“cmd”
                              3. 按 Ctrl+Shift+Enter
                              4. 左光标键(右小指)移动到 UAC 对话框上的“继续”按钮
                              5. 输入

                              我总是打开一个来启动我的 IDE 和运行构建脚本。

                              我发现的唯一缺点是提升的窗口无法与我的一些窗口调整软件交互,例如 KatMouseSwitcher

                              【讨论】:

                                【解决方案20】:

                                不,但我确实更改了一些设置:

                                • 如果不在管理员组中,则不提示提升。
                                • 如果您是 [机器]\管理员,则自动升级

                                我不把自己放在管理员组中。 突出一个普通的老用户,没有提升提示。

                                在开发服务器上使用 Run As 开发/调试 Web 应用程序

                                【讨论】:

                                  【解决方案21】:

                                  我在关闭 UAC 的情况下进行编码。当我打开 Visual Studio 或 Star uml,或者只是想更改我机器中的设置时,我发现看到所有这些弹出窗口很烦人。我一直安装一个很好的互联网安全套件,让我在我的机器上保持“无病毒”多年,我认为在我做的每项任务上总是提示“你确定”没有意义。我同意 Ed,因为每个人都点击确定。

                                  示例:为您的家庭成员安装防火墙。当他们被提示应用程序 XYZ 是否可以连接到互联网时,他们将单击是。他们不会区分好的应用程序和间谍软件/病毒。 UAC 也是如此。

                                  【讨论】:

                                    【解决方案22】:

                                    我打开 UAC,但将 VS 设置为始终以管理员身份运行。我这样做的唯一真正原因是我主要从事需要管理员权限才能运行的软件。 (是的,我知道这应该是少数,但我的应用恰好是其中之一——它是一个软实时硬件控制器。)

                                    对于通用应用,您至少必须在启用 UAC 的情况下进行测试;虽然您可以在单独的机器上执行此操作,但在您的开发机器上进行测试更容易。并且提示并不是那么强加,特别是如果您禁用“安全桌面”选项(启用后对大多数显卡的反应非常缓慢)。

                                    【讨论】:

                                      【解决方案23】:

                                      如果您继续使用 Vista,请关闭 UAC 并依靠 Microsoft Security Essentials 的实时监视器来拦截任何想要更改您的系统的内容。或者,升级到 Win7,您可以在其中保留 UAC 并控制您希望 UAC 通知和中断执行的级别。

                                      编辑:无论如何,利用 Windows 计算机非常容易,那么如果 UAC 真的不能保证保护,那么打开 UAC 有什么意义?

                                      【讨论】:

                                      • 这是一个可怕的建议。如果您不打开 uAC,那么您不知道您的程序是否与它交互不佳。此外,您还可以调整 Vista 的 UAC。
                                      猜你喜欢
                                      • 2010-09-10
                                      • 1970-01-01
                                      • 1970-01-01
                                      • 1970-01-01
                                      • 1970-01-01
                                      • 2010-09-09
                                      • 1970-01-01
                                      • 1970-01-01
                                      • 1970-01-01
                                      相关资源
                                      最近更新 更多