найти путь моего приложения, установленного в реестре - PullRequest
0 голосов
/ 29 августа 2011

Я использую innosetup для установки моей программы java, установщик сгенерирует ключ запуска. Я хочу получить путь установки

Линия инносетов:

Root: HKLM; 
Subkey: "Software\Microsoft\Windows\CurrentVersion\Run"; 
ValueType: string; 
ValueName: "Mi_Programak"; 
ValueData: "{app}\esperoo.exe";"

Класс будет вызван в файл, но мне нужен путь установки, как мне узнать путь установки в реестре с именем моего приложения?

1 Ответ

1 голос
/ 29 августа 2011

Я не знаю, есть ли встроенный раздел реестра для папки с установленной программой, но вы всегда можете создать свой собственный.У вас есть сценарий установщика, создающий ключ реестра во время установки, используя {app} в качестве заполнителя для значения реестра.

Чтение любого произвольного ключа в реестре Windows из Java может быть выполнено с некоторыми хитростями, но дляпридерживайтесь стандартных классов JDK и документированных функций, лучше всего использовать стандартный интерфейс Preferences.Предпочтения в корневом каталоге системы размещаются в виде ключей в папке HKLM \ Software \ JavaSoft \ Prefs \.Имейте в виду, что с заглавными буквами есть некоторая странность - каждая заглавная буква имеет префикс с косой чертой, поэтому сохраняйте название клавиши строчными.например, installdir вместо InstallDir.

В итоге: чтобы найти каталог установки, добавьте раздел реестра в папке Software \ Java \ Prefs к сценарию установщика, и вы можете использовать системный корень из java.util.Preferences для получения значения во время выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...