0

我创建了一个简单的应用程序来管理数据库中的成员。该程序在服务器模式下运行 HSQLDB;一切都从程序代码中开始。该程序是通过安装程序分发的,当然用户可以选择安装它的位置。现在,我注意到一个最特殊的问题,我无法掌握。在我的 win7 笔记本上,我将应用程序安装在哪里并不重要;它就像一个魅力。但是,在另一台计算机上,只能在 programm 文件夹之外进行安装。在程序文件中,java 似乎找不到 hsqldb.jar。将 hsqldb.jar 的整个文件路径添加到 PATH 不起作用,在另一台计算机上,一切正常。有任何想法吗?(都是win7)

我应该注意到,即使通过包含的 runserver.bat 手动启动服务器似乎也不起作用。

4

1 回答 1

0

您面临的问题涉及 UAC 的更改。

您可以通过加载管理员并将 UAC 设置为低来克服这些问题,但这不是一个理想的解决方案。(在什么用户下安装了 Java 和安装的应用程序也分开了)。

更好的解决方案是尝试将数据库放置在用户可接受的位置。

我建议尝试使用该System属性user.dir(即System.getProperty("user.dir");)作为基本位置。从这里,您可以创建一个AppData\Roaming以您的应用程序命名的目录,并将您的应用程序特定数据写入此位置。

这会将您的数据库放置在特定用户的可写位置中。

(ps - 您不必使用AppData\RoamingAppData\Local如果您不希望设置跟随用户(如果他们正在使用漫游配置文件)......或者您不在乎;))

于 2013-07-17T23:01:46.660 回答