如何让 Windows 7 资源管理器显示位于 %localappdata%\VirtualStore\Program Files\ 中的文件?

如何让 Windows 7 资源管理器显示位于 %localappdata%\VirtualStore\Program Files\ 中的文件?

我有一个应用程序正在将日志文件写入其“Program Files”目录,如下所示:

C:\Program Files\SomeApp\blah.log

这不是我的应用程序,我无法控制它如何运行或将日志文件放在何处。

即使我选择了“显示隐藏文件、文件夹和驱动器”并取消选择“隐藏受保护的操作系统文件”,Windows 7 文件资源管理器根本不显示此文件。

文件资源管理器如果我导航到以下位置则显示文件:

C:\Users\svec\AppData\Local\VirtualStore\Program Files\SomeApp\blah.log

显然,“Program Files”和这个 VirtualStore 目录之间存在一些映射。

该应用程序的日志文件查看器可以在“C:\Program Files\SomeApp\”中的“打开文件”对话框中看到该文件,但该文件有一个锁定图标。

如何让 Windows 7 文件资源管理器让我看到“C:\Program Files\SomeApp\”中的文件?

谢谢!

答案1

如何让 Windows 7 文件资源管理器让我看到“C:\Program Files\SomeApp\”中的文件?

你不能,原因很简单:文件不在那里。只有设计糟糕的应用程序它在那里。Windows 正在尝试解决应用程序的不良设计,并且相对不显眼地将文件放置在它应该在的位置應該位于应用程序数据目录中。

这不是一个可以“解决”的 Windows 问题。 这是 Windows 正在修复你的应用程序 以便它在非管理员使用时也能正常工作。这是一个应用程序问题,您应该催促应用程序供应商修复它。设计应用程序的人错误地设计了它,以至于当让每个人都可以完全访问程序映像目录的安全漏洞被关闭时,应用程序对非管理员不起作用。Windows 正在尝试为您解决这个错误设计,试图让应用程序运行就像它应该已设计用于,而不是期望拥有所有内容的管理员级别的访问权限。

不要仅仅为了让 Explorer 显示一个实际上不存在且不应该存在的应用程序数据文件而重新打开巨大的安全漏洞。

答案2

您的应用程序可能已被识别为需要对程序文件夹进行读/写访问的应用程序,或者是一个非常古老的应用程序(Win9x 时代代码)。因此,您的应用程序正在通过 Windows 中的应用程序虚拟化系统运行,该系统会自动将对文件系统的写入重定向到虚拟存储。除了像这样虚拟化的程序之外,我不知道有什么方法可以查看虚拟化状态下的文件夹。

我发现的唯一解决方法是:

a) 将应用程序安装在除 之外的其他位置\Program Files,并授予Everyone组修改对该文件夹的完全控制访问权限。

b) 在 Virtual PC (XP 模式) 中运行该应用程序。

预计到达时间:

我做了一些搜索,如果您向\Program Files普通用户授予文件夹的修改/完全控制权限,某些应用程序似乎可以正常工作Everyone,但我知道我在一个应用程序中尝试过这个,但没有帮助。

相关内容