很长一段时间潜伏,最后成为一名成员。我有一个java应用程序,我准备向公众发布Windows / OSX / Linux但我遇到了与Windows Vista及更高版本的权限相关的问题。
基本上,应用程序安装到标准的c:\ Program Files(可在安装程序中配置),这很棒,我的应用程序数据存储在用户各自的应用程序数据文件夹中。
现在这是我正在努力的部分。我的应用程序(像大多数人一样)能够检查更新并自行更新。更新过程执行以下步骤;
存在问题。为了允许更新过程更改自己的文件,我需要授予JAR管理权限;这看起来很疯狂。有没有办法在这些允许默认更改自己的文件的操作系统上安装java应用程序?显然,不将应用程序安装到“Program Files”目录中工作得非常好 - 但大多数人将文件安装到这些目录中(因为这是他们的目的)。
我一直试图找出这个问题的一个很好的解决方案已经有一个多星期了,但是我还是空手而归。我希望有人能够在这些操作系统上进行部署,这可以为这个主题提供一些启示。
其他信息:
也许我说这一切都错了?我不能成为第一个遇到此问题的人,有数百万个应用程序部署到Windows。
感谢您的帮助和建议。
答案 0 :(得分:0)
简短的回答是否。 否如果没有正确的权限,您的应用程序将无法更改自己的文件。
对于其他任何偶然发现此主题的人,还有其他信息;
<强>解决方案吗 由于我的应用程序在运行时不需要提升权限,因此我以标准方式运行应用程序,但如果有可用更新,我会提示用户提升权限。我的应用程序调用一个处理升级的外部jar(或Windows中的exe),所以我最后要做的就是在upgrade.exe和viola中添加正确的Manifest。