JAR 在其自己的安装目录中没有写入权限 (Windows 8)

JAR does not have write permissions in its own install directoy (Windows 8)

我构建了一个 Java 应用程序,从中制作了一个独立的应用程序,并使用 InnoSetup 创建了一个安装程序。

当我安装它时,我的应用程序将安装到 Windows 8 上的默认路径: C:\Program Files (x86)\InstallDirOfApp.

当我在那里启动我的应用程序时,它必须将一些文件(例如设置)写入其安装目录。但它没有这样做的权限。只有当我用 'Start as administrator' 启动它时,它再次运行良好。

我该如何解决?我不想告诉我的用户他们总是必须单击 'execute as admin'。

顺便说一下:为什么 Windows 无论如何都不允许应用程序写入其自己的安装目录?

这是Windows8的幸运。

如何解决?正确答案(恕我直言)是 "do not write to installation directory"。安装目录和工作目录之间存在差异。您可以继续使用 "C\Program Files\Foobar" 作为安装目录,但使用 "%temp%\Foobar""%home%\Foobar" 作为工作目录。我推荐的位置通常是可写的。