【问题标题】:Do User Account Controls stick in windows?用户帐户控制是否停留在 Windows 中?
【发布时间】:2012-08-08 19:44:49
【问题描述】:

我正在试验一个名为“update.exe”的更新程序,在过去的 10 年里,它只是从映射的网络驱动器复制更改的文件。自从 Vista 发布以来已经有一段时间了,但最终尝试解决 UAC 似乎是谨慎的。

我想做的是在“正常”模式下运行 update.exe,如果检测到更改,则在“提升”模式下重新启动程序。我认为这会奏效,我的问题与此无关。第一步是在非提升模式下运行 update.exe(Windows 会自动提升它,因为它被称为“update.exe”)

所以我注入了一个自定义清单文件,该文件刚刚在最高可用级别运行。在那个级别,update.exe 无法复制任何文件。正因为如此,我试图对此尽可能小心,因此我回滚了对清单的更改并重建了程序。

现在,即使我还原了清单,update.exe 仍然不会尝试在提升模式下运行。

所以,我的问题是,Windows 中有什么东西可以缓存哪些文件正在请求 UAC,我如何刷新它以便程序可以像以前一样?

【问题讨论】:

  • 以正常和高完整性运行的程序具有不同的映射驱动器列表。您要读取哪个映射驱动器列表?普通程序或提升程序可见的列表?
  • 它读取文件,我可以看到它们的名字出现在屏幕上(如果我以管理员身份运行,我看不到它们)。它实际上并没有复制文件。
  • 有错误吗?我想知道UAC virtualization 是否以某种方式参与其中。尝试将进程监视器放在上面。
  • @luke 是的,没有错误,我敢打赌这就是刚刚开始发生的事情。我写入 C:\ 中的文件夹 - 不是程序文件,我不使用 Windows Installer 或任何花哨的东西。
  • 您能否安装一个新的 Windows 副本,也许使用 Virtual PC,看看它是否会尝试提升 update.exe?

标签: windows manifest uac


【解决方案1】:

Windows 缓存是“需要的海拔高度”。重新启动将清除它(或更改文件名)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-04
    • 2015-09-23
    相关资源
    最近更新 更多