#install4j
#install4j
Вопрос:
У меня есть:
- install4j Мультиплатформенная версия 6.1.3 (сборка 6299)
- Ubuntu 10.04.4 LTS
- Java 1.8.0_45
Когда я запустил установщик в автоматическом режиме у пользователя, не являющегося root, установка прошла успешно. Однако для запуска деинсталляции мне потребовалось быть пользователем root.
Вот конфигурация для моего установщика:
Вот конфигурация для моего деинсталлятора:
Вот фрагмент журнала установки, показывающий, что действие «Запросить привилегии» прошло успешно.
[INFO] com.install4j.runtime.beans.actions.misc.RequestPrivilegesAction [ID 2776]: Execute action
Property failIfNotRootUnix: false
Property obtainIfAdminMac: false
Property obtainIfAdminWin: true
Property obtainIfNormalMac: false
Property obtainIfNormalWin: false
Property failIfNotObtainedWin: true
Property allRequested: false
Property failIfNotObtainedMac: true
Property rollbackSupported: false
Execute action successful after 2 ms
[INFO] com.install4j.runtime.beans.screens.StartupScreen [ID 15]: command: move 1 screens, executing actions, checking condition
[INFO] com.install4j.runtime.beans.screens.WelcomeScreen [ID 1]: Show screen
Вот фрагмент журнала для деинсталляции, показывающий, что действие «Требовать привилегии установщика» не выполнено из-за недостаточных прав.
[INFO] com.install4j.runtime.beans.actions.misc.RequireInstallerPrivilegesAction [ID 2779]: Execute action
Property failIfNotObtained: true
Property rollbackSupported: false
[ERROR] com.install4j.runtime.beans.actions.misc.RequireInstallerPrivilegesAction [ID 2779]: Execute action not successful after 4494 ms
[INFO] com.install4j.runtime.beans.actions.misc.LoadResponseFileAction [ID 2778]: Rollback action
Rollback action finished
Я что-то неправильно настроил?
Редактировать: Вот переменные в файле varfile, которые я передал в командной строке при запуске программы установки и деинсталляции:
logLocation=/folder/something
storeLocation=/folder/something
storeSize$Long=1
nmx.webserver.port$Long=8466
nmx.sharedDir=/folder/something
nmx.licenceFileName=/folder/something
nmx.userDir=/folder/something
sys.adminRights$Boolean=true
sys.languageId=en
sys.programGroupDisabled$Boolean=true
Установщик и деинсталлятор были последовательно запущены моей тестовой программой под управлением обычного пользователя, то есть программа запустила установщик, а затем запустила деинсталлятор.
Комментарии:
1. Пожалуйста, проверьте, установлено ли значение
sys.adminRights
in.install4j/response.varfile
наtrue
. В этом случае установщик был запущен с полными привилегиями.2. @IngoKegel Да, для него установлено значение
sys.adminRights$Boolean=true
. Теперь я в замешательстве, потому что я запускал как установщик, так и деинсталлятор в своих автоматических тестах. Если установщик смог получить необходимые права, почему не смог деинсталлятор?3. Возможно, попробуйте еще раз с чистой установкой.
4. @IngoKegel что вы имеете в виду под
clean installation
? Установщик и деинсталлятор были запущены в автоматическом режиме в рамках автоматизированных тестов. Он был установлен в чистую папку, и удаление было выполнено в той же папке.5. Когда установщик запускается, процесс, похоже, имеет полные права администратора. У вас отключен пользовательский интерфейс во время работы установщика?