2016-12-07 15 views
0

現在、私はJavaFXを使用してデスクトップアプリケーションをビルドする必要があるプロジェクトに取り組んでいます。私はjavafx-gradle-plugin(https://github.com/FibreFoX/javafx-gradle-plugin)を使ってアプリケーションをビルドし、バンドルしています。javafx-gradleとInnoSetupと管理者権限を持つ.exeをビルドします

すべて正常に動作しますが、インストール後にアプリケーションが実行する管理者権限を要求しません。管理者ユーザーですべてを起動すると、すべて正常に動作しますが、「通常の」ユーザーとして起動すると、アプリケーションは動作しません。

.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 tannon_shemnon/javafx-gradle/)plugin;)これはDanno Ferrinのものだった...それは古く/死んでいる – FibreFoX

答えて

0

私の問題の解決策が見つかりました。

私はこのようなInnoSetupインストーラを生成するための私の.issファイルにエントリを追加しました:

[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() 
関連する問題