哪些操作需要Windows中的UAC提升?

我把这个标记为社区维基,因为我并不是在寻找一个完整的答案。 所以如果你想发布一个或两个东西,将激活UAC提示,而不是一个全面的列表,然后继续。

Windows中的哪些操作将激活UAC? 我想尽可能避免它,因为我的应用程序不需要pipe理员权限。 而且我相信很多其他人都想避免它。

具体来说,我想知道如果从registry中读取将激活它。 或写信给它?
你不需要解决上面的问题,任何能激活它的东西都是公平的游戏。

Google对于UAC的任何事情都很难,因为你会受到关于如何禁用它的文章的轰炸。 而且我宁愿没有我的应用程序使得UAC被禁用。

没有什么“激活”UAC。

如果您的应用程序在Windows XP下无法以标准用户身份运行,则无法以Windows Vista或Windows 7作为标准用户运行。

你真正要问的是: 标准用户在Windows下不能执行什么操作?

标准用户无法做的事情是众所周知的(自Windows 2000以来,它们一直是相同的)。 主要的是:

  • 修改HKEY_LOCAL_MACHINE任何内容
  • 修改Windows目录中的任何内容
  • 修改Program Files夹中的任何内容

如果你试图做到这些,他们将失败:

  • Windows 2000
  • Windows XP
  • Windows Vista
  • Windows 7的

没有人应该作为管理员运行日常的计算机使用。 如果您的应用程序在Windows XP中执行了任何这些不好的事情,它将会失败。 用户将不得不:

  • 登录(或快速用户切换)到管理员
  • 执行管理任务
  • 切换回他们的真实账户

UAC是一个轻松的机制,允许您轻松地暂时切换到管理员。 你做什么都不会“ 触发 ”它; 你必须做到这一点。

如果你知道你的代码需要修改C:\Program Files\My App\Data一个文件,那么你应该在你的表单上添加一个按钮来触发海拔。

然后,您需要启动程序的副本(升级),执行该操作,然后关闭。

我创建了一个launch4j安装程序(一个用于java程序的exe包装)并将其命名为“MyApp.exe”。 它不需要任何管理员身份验证。 它运行正常,没有任何UAC提示。

但是:如果我将此安装程序重命名为“install.exe”或“setup.exe”,则会显示UAC图标,并在启动安装程序时收到UAC提示。

似乎在文件名中有一些“保留字”,导致窗口启动具有提升权限(UAC)的程序。