Переменная установщика sys.languageId не будет установлена ​​при использовании сценария замены для языкового кода - PullRequest
0 голосов
/ 29 мая 2018

Я использую скрипт замены для кода языка в install4j для автоматической установки языка, если программа установки работает в фоновом режиме.Таким образом, скрипт замены возвращает код языка по умолчанию (в моем случае «en»).По какой-то причине переменная установщика sys.languageId имеет значение null, что приводит к исключению NullPointerException.

java.lang.NullPointerException
    at java.util.Hashtable.put(Unknown Source)
    at java.util.Properties.setProperty(Unknown Source)
    at com.install4j.runtime.installer.helper.InstallationProperties.setLanguageId(InstallationProperties.java:105)
    at com.install4j.runtime.installer.InstallerContextImpl.finishInstallationProperties(InstallerContextImpl.java:417)
    at com.install4j.runtime.installer.InstallerContextImpl.finish(InstallerContextImpl.java:339)
    at com.install4j.runtime.installer.controller.Controller.handleCommand(Controller.java:268)
    at com.install4j.runtime.installer.controller.Controller.start(Controller.java:106)
    at com.install4j.runtime.installer.Installer.runInProcess(Installer.java:58)
    at com.install4j.runtime.installer.Installer.main(Installer.java:45)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:85)
    at com.exe4j.runtime.WinLauncher.main(WinLauncher.java:94)
    at com.install4j.runtime.launcher.WinLauncher.main(WinLauncher.java:25)

Даже если я попытаюсь установить переменную в скрипте замены явно с помощью context.setVariable("sys.languageId", defaultLanguage);, переменная останется равной нулю,Как я могу убедиться, что эта переменная установлена?

...