2016-12-07 11 views
0

В настоящее время я работаю над проектом, где мне нужно создать настольное приложение с использованием JavaFX. Я использую javafx-gradle-plugin (https://github.com/FibreFoX/javafx-gradle-plugin) для создания и объединения приложения.Build .exe с javafx-gradle и правами InnoSetup и admin

Все работает нормально, но после установки приложение не запрашивает права администратора для запуска. Если я начну его с администратора, все будет работать, но если вы начнете его как «нормального» пользователя, приложение не будет работать.

Есть ли способ запросить права администратора при запуске .exe?

заранее спасибо за вашу помощь

+1

Возможный дубликат [Как установить «Запуск от имени администратора» в файле с помощью Inno Setup] (http://stackoverflow.com/questions/16978917/how-to-set-run-as-administrator-on- a-file-using-inno-setup) –

+1

Только одно примечание: его не [javafx-gradle] (https: // bitbucke t.org/shemnon/javafx-gradle/) плагин;), что он был от Данно Феррина ... и он устарел/мертв – FibreFoX

ответ

0

Я нашел решение моей проблемы.

Я добавил запись в моем .ISS файл для создания установки InnoSetup так:

[Registry] 
Root: "HKLM"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\"; ValueType: String; ValueName: "{app}\xxx.exe"; ValueData: "RUNASADMIN"; Flags: uninsdeletekeyifempty uninsdeletevalue; MinVersion: 0,6.1 

Имейте в виду, что при добавлении этой записи вы должны добавить runascurrentuser в конфигурацию Run так:

[Run] 
Filename: "{app}\xxx.exe"; Parameters: "-Xappcds:generatecache"; Check: returnFalse() 
Filename: "{app}\xxx.exe"; Description: "{cm:LaunchProgram,xxx}"; Flags: runascurrentuser nowait postinstall skipifsilent; Check: returnTrue() 
Filename: "{app}\xxx.exe"; Parameters: "-install -svcName ""xxx"" -svcDesc ""xxx"" -mainExe ""xxx.exe"" "; Check: returnFalse()