Моя программа сохраняет зашифрованные данные ключа продукта на компьютер с классом java.util.Preferences
(системные настройки, а не пользователь). Проблема заключается как в Windows, так и в Linux (они не тестировались в OSX, но, вероятно, это одно и то же), если я не запускаю программу с помощью sudo
или с правами администратора, она испускает исключение или предупреждение всякий раз, когда пытается для чтения или сохранения данных.
Очевидно, что требовать от пользователя запуска программы с правами администратора было бы непрактично. Оптимально, я бы хотел, чтобы операционная система запрашивала у пользователя разрешение.
Это довольно глупо и удаляет половину цели Preferences
. Как это можно зафиксировать?
Вот сводка, в которой я нуждаюсь. Мне нужно, чтобы моя программа запрашивала разрешение от операционной системы для сохранения настроек системы.
Вот информация об ошибке
Здесь ошибка, когда я пытаюсь прочитать node (потому что node не существует):
Mar 18, 2011 9:41:15 AM java.util.prefs.WindowsPreferences <init>
WARNING: Could not create windows registry node Software\JavaSoft\Prefs\myapp at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
Mar 18, 2011 9:41:15 AM java.util.prefs.WindowsPreferences WindowsRegOpenKey1
WARNING: Trying to recreate Windows registry node Software\JavaSoft\Prefs\myapp at root 0x80000002.
Mar 18, 2011 9:41:15 AM java.util.prefs.WindowsPreferences openKey
WARNING: Could not open windows registry node Software\JavaSoft\Prefs\myapp at root 0x80000002. Windows RegOpenKey(...) returned error code 2.
Mar 18, 2011 9:41:15 AM java.util.prefs.WindowsPreferences WindowsRegOpenKey1
WARNING: Trying to recreate Windows registry node Software\JavaSoft\Prefs\myapp\subpackage at root 0x80000002.
Mar 18, 2011 9:41:15 AM java.util.prefs.WindowsPreferences openKey
WARNING: Could not open windows registry node Software\JavaSoft\Prefs\myapp\subpackage at root 0x80000002. Windows RegOpenKey(...) returned error code 2.
И вот что происходит, когда я пытаюсь написать node:
Mar 18, 2011 9:43:11 AM java.util.prefs.WindowsPreferences WindowsRegOpenKey1
WARNING: Trying to recreate Windows registry node Software\JavaSoft\Prefs\myapp\subpackage at root 0x80000002.
Mar 18, 2011 9:43:11 AM java.util.prefs.WindowsPreferences openKey
WARNING: Could not open windows registry node Software\JavaSoft\Prefs\myapp\subpackage at root 0x80000002. Windows RegOpenKey(...) returned error code 2.