gpt4 book ai didi

Java 应用程序无法在 Windows 7 上写入磁盘,为什么?

转载 作者:行者123 更新时间:2023-12-01 19:10:58 24 4
gpt4 key购买 nike

我编写了一个 Java 应用程序,并将其与 NSIS(或 NSYS...)安装程序一起打包。我工作得很干净,但有时我发现对于在 Windows 7 上运行的某些用户,该应用程序根本无法在磁盘上写入(它甚至无法写入日志)。该应用程序安装在 c:\Programs(或 d 或 e...)。支持人员说他们通过安装在 c:\来解决这个问题。为什么会出现这种情况?与Java安全性有关吗?也许在我的 Windows 安装和其他安装中我没有注意到它,因为我关闭了无人机。

想法?

最佳答案

当您想知道这是否是因为您关闭了 UAC 时,您就一语中的了。

您不应将日志文件写入应用程序安装的位置,而是需要选择应用程序可写入的位置,例如user.home 系统属性下的目录。

java 应用程序不能执行此操作而其他应用程序可以执行此操作的原因与 Data Redirection 有关。 ,这会导致对某些文件夹的写入透明地重定向到每个用户的数据存储。我认为 JRE 禁用了此重定向(使用进程资源管理器进行检查,它没有“虚拟化”标记),这意味着在 java 程序上不会发生透明重定向。

如果您希望应用程序能够写入应用程序的安装目录,那么完成此操作的最简单方法是 change the permissions of the folder on installation .

关于Java 应用程序无法在 Windows 7 上写入磁盘,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8486233/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com