为什么我可以在 UAC 打开的情况下写入 Program Files 之外的特定目录?

StackOverflow https://stackoverflow.com/questions/427071

  •  06-07-2019
  •  | 
  •  

这对我来说很奇怪。让我列出设置:

  • 带有清单的应用程序(即:不会被推送到虚拟商店)
  • UAC开启(无法写入其他程序文件目录,或其他区域,出现uac提示)
  • 可以从我的应用程序(不以管理员身份运行)以及非管理员命令提示符中写入“c:\program files\%app_name%\%directory%\”
  • 无法写入“c:\program files\%app_name%\%directory%\%subdirectory%\”。

有任何想法吗?是否有隐藏的权限或注册表设置?难道这个目录是在 UAC 关闭时创建的,所以现在它是公平的游戏了吗?难道这个目录是在 XP 时代创建的,而且是公平的游戏吗?

这对我来说是有道理的,为什么我无法写入其他程序文件目录和子目录。但是我不知道为什么我实际上被允许写入%directory%?

边注:如果我将%directory%移动到另一个区域(appdata),我仍然无法写入子目录(困惑)。

让我知道您可能有的任何想法或我可以检查的任何内容。

谢谢

有帮助吗?

解决方案

编辑:啊,抱歉,我浏览你的帖子有点太快了,看起来这不是问题!

您是否查看过写入的文件实际上去了哪里?

Vista 具有一项功能,可以将应用程序写入 Program Files 文件夹的文件重定向到本地每用户存储。该存储位于 %userprofile%\AppData\Local\VirtualStore

这是为了允许将每个用户设置写入程序文件的旧应用程序仍然可以正确运行,还允许多个用户使用该程序而不会发生冲突。

资源管理器中有一个名为“兼容性文件”的按钮,它将带您进入此用户存储。也许你的写作就在那里结束了?

我不确定为什么你不能写入子目录。安全权限?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top