使用javafx-gradle和InnoSetup和管理员权限构建.exe
问题描述:
我目前正在开发一个项目,在该项目中我必须使用JavaFX构建桌面应用程序。我使用javafx-gradle-plugin(https://github.com/FibreFoX/javafx-gradle-plugin)来构建和捆绑应用程序。使用javafx-gradle和InnoSetup和管理员权限构建.exe
一切工作正常,但安装后应用程序不会请求管理员权限运行。如果我用管理员用户启动它,一切正常,但如果您以“普通”用户身份启动它,则应用程序无法运行。
启动.exe时有没有办法请求管理员权限?
预先感谢您的帮助
答
我找到了解决我的问题。
我说在我的.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]
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()
可能的[如何使用Inno Setup在文件上设置'以管理员身份运行']的重复(http://stackoverflow.com/questions/16978917/how-to-set-run-as-administrator-on- a-file-using-inno-setup) –
只是一个侧面提示:它不是[javafx-gradle](https:// bitbucke t.org/shemnon/javafx-gradle/)插件;)一个来自Danno Ferrin ...而且已经过时/死了 – FibreFoX