如何使用 Java 编写系统首选项Preferences.systemRoot()
?
我试过:
Preferences preferences = Preferences.systemRoot();
preferences.put("/myapplication/databasepath", pathToDatabase);
但我收到了这个错误信息:
2010-maj-29 19:02:50 java.util.prefs.WindowsPreferences openKey
VARNING: Could not open windows registry node Software\JavaSoft\Prefs at root 0x80000002. Windows RegOpenKey(...) returned error code 5.
Exception in thread "AWT-EventQueue-0" java.lang.SecurityException: Could not open windows registry node Software\JavaSoft\Prefs at root 0x80000002: Access denied
at java.util.prefs.WindowsPreferences.openKey(Unknown Source)
at java.util.prefs.WindowsPreferences.openKey(Unknown Source)
at java.util.prefs.WindowsPreferences.openKey(Unknown Source)
at java.util.prefs.WindowsPreferences.putSpi(Unknown Source)
at java.util.prefs.AbstractPreferences.put(Unknown Source)
at org.example.install.Setup$2.actionPerformed(Setup.java:43)
我想这样做,因为我想安装一个嵌入式 JavaDB 数据库,并让计算机上的多个用户在应用程序中使用同一个数据库。
如何解决这个问题?我可以调用 UAC 并以 Java 管理员身份执行此操作吗?如果我在写入时以管理员身份登录,如果我以用户身份登录,我可以使用我的 Java 应用程序读取这些值吗?