基于标准用户无法在 Vista 及更高版本上直接写入 ProgramData 的假设,我在其中创建了一个目录,并让所有用户完全控制该目录以供我的程序使用。它工作正常,但在测试期间,我尝试以访客身份(应该受到限制)运行一些测试代码,它成功创建了目录并授予了预期的权限。当我看到这么多关于这种事情不起作用的故事时,我没想到它会起作用。如果我创建一个标准用户帐户并从那里运行程序,也会发生同样的事情。
有没有其他人看到过这种行为?它没有被虚拟化,似乎对程序清单的 UAC 感知调整(我在这里使用 VS2005)正在工作,因为当我尝试写入 System32 而不是 VirtualStore 中的文件时出现错误。
我会放手去数我的祝福,但这个软件不会只在我的机器上运行,我想确保它可以在其他环境中运行。