我有一个必须在没有管理权限的情况下运行的应用程序。无论运行此应用程序的用户如何,我都需要将应用程序附加到此日志。日志由应用程序创建。显然 Program Files 目录是不可能的,考虑到它需要管理员权限才能在所述目录中创建文件。似乎 ProgramData 做到了,并使用 File.setWritable(true, false); 更改所有用户的写入权限;但是,似乎依赖于不同系统的 UAC 设置,由于缺乏足够的权限,无法执行此操作。我使用 Windows 资源管理器确认这一点,并且更改权限需要管理员权限。所以Java在ProgramData中创建目录时,需要Administrator权限才能改变权限,但是,当我手动创建目录时,我可以更改文件夹权限而无需管理员权限。考虑到应用程序以我的用户身份运行,为什么这种行为不同?所以这是一个两部分的问题,是否有更好的目录来放置此日志,如果没有,为什么行为不同,如何在不需要管理员权限的情况下设置权限。
非常感谢