, это решит проблему.
рограмма сохраняет зашифрованные данные ключа продукта на компьютер сjava.util.Preferences
класс (системные настройки, а не пользовательские). Проблема в Windows и Linux (не тестировалась на OSX, но, вероятно, то же самое), если я не запускаю программу сsudo
или с привилегиями Администратора он выдает исключение или предупреждение всякий раз, когда пытается прочитать или сохранить данные.
Очевидно, что требовать от пользователя запуска программы с правами администратора нецелесообразно. Оптимально, я бы хотел, чтобы операционная система запрашивала у пользователя разрешение.
Это довольно глупо, и удаляет половину целиPreferences
, Как это можно исправить?
Вот краткое изложение, что мне нужно: Мне нужна моя программа, чтобы запросить разрешение операционной системы для сохранения настроек системы.
Вот информация об ошибкеВот ошибка, когда я пытаюсь прочитать узел (потому что узел не существует):
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.
И вот что происходит, когда я пытаюсь записать в узел:
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.