使用pipe理员权限运行时文件内容是不同的

我有奇怪的情况,当我以pipe理员身份运行程序并以非特权用户身份运行程序时,“看到”相同文件的不同版本。

该文件是位于“程序文件(x86)”内的文件夹中的sqlite的db3文件。

当使用pipe理权限运行程序“sqlitestudio”,然后在程序中打开文件时,我看到一些不同于我运行程序时没有pipe理权限的值!
这真的很奇怪,因为我在非特权模式下运行时看到的值是合法的,而且是在旧版本的文件中编写的。

有谁知道什么@!#导致这个?

在此先感谢,Eitan

查看运行该程序的用户的configuration文件中的AppData\Local\VirtualStore

显然,它是通过执行的操作(如写入程序文件)在兼容模式下启动的,然后使用文件夹虚拟化将所有文件写入用户configuration文件。

以pipe理员身份运行时,不会使用兼容性设置,因此您可以看到真正在磁盘上的文件。

请注意,该文件夹可能是隐藏的,因此要么完全键入,要么启用显示隐藏文件夹。

您可以使用兼容性pipe理员手动更改设置(例如只redirect某些文件,或者将某些文件redirect到C:\ ProgramData,该文件对每个人都是可写的,并将其余redirect到用户configuration文件,因为它包含每个用户的设置)。