.jarファイルを実行するときに簡単に昇格するにはどうすればよいですか?


8

インストーラーJarファイルを実行しようとすると、Program Filesフォルダーの下にディレクトリを作成するための書き込みアクセスが拒否されたというエラーが表示されます。

右クリック-> [管理者として実行]は、Jarファイルでは使用できません(それらを消費するのはJava.exeであるためと考えられます-それらはシェルによって直接実行可能として扱われません)。

標高を指定して.Jarファイルを実行する最も簡単で簡単な方法は何ですか。

私はこのツールを開発チームに推奨するように評価しています。開発チームは手動でボックスにインストールします。私は彼らが何かをタイプすることを要求しないオプションを好みます。

回答:


6

他のユーザーがすべてのコンピューターに変更を加えることなくJARインストーラーを簡単に実行できるようにするには、JARファイルを昇格して実行するバッチスクリプトでラップすることをお勧めします。これは、MicrosoftのElevation PowerToysで簡単に実行できますelevateコマンドにプレフィックスを付けるだけで、管理者として何かを起動できる便利なユーティリティが含まれています。

それらをダウンロードしたら、それらをフォルダーに抽出し、elevate.cmdおよびelevate.vbsをJARファイルのあるフォルダーにコピーします。次に、.cmd次の内容の拡張子を持つ新しいバッチスクリプトを記述します。

elevate cmd /c start "%CD%\installer.jar"

これにより、(のstartコマンドを使用して)システム上のそのようなファイルのデフォルトハンドラーでJARファイルが起動しますcmd%CD%スクリプトの現在の作業ディレクトリを指しc:\windows\system32ます。これは、昇格されたコマンドラインがで開始されるために必要です。

何らかの理由で、JavaがJARファイルのデフォルトハンドラとして適切に構成されていない場合は、失敗します。すべてのシステムで同じ場所にあるJavaを当てにすることができる場合は、代わりに次のようにすることができます。

elevate "c:\Program Files\Java\jre\bin\java.exe" -jar "%CD%\installer.jar"

これらのいずれかを実行したら、バッチファイルを実行すると、Windowsは管理者の昇格を要求し、インストーラーを起動します。

昇格スクリプト、スクリプト、およびインストーラーファイルを、スクリプトを起動する自己解凍型アーカイブに含め.exeます。これを1つの素敵な小さなファイルにまとめることができます。(7-Zipは、このようなアーカイブを作成するための優れたオープンソースツールです。)

Elevation PowerToysの詳細については、リンクされた記事またはダウンロードに含まれているREADMEファイルを参照してください。


素晴らしい答え:)ありがとう!私はそれを受け入れるのを待つので、おそらく質問/あなたの答えはより多くのトラフィックを得る(私はそれがそのように機能すると思いますか?)
Merlyn Morgan-Graham

@パッチ、これを行う非サードパーティの方法は何ですか?
Pacerier

@Pacerier Windows 10でも、コマンドラインから昇格する組み込みの方法はまだありません。
2015年

2

私はこれを行う機会があり、Elevation PowerToysをダウンロードしてインストールする必要がない最も簡単な方法は、cmd.exeを管理者として実行java.exe -jar 'installer.jar'し、コマンドラインから呼び出すことでした。もちろん、最初にjava.exeを見つける必要がありましたが、それほど長くはかかりませんでした...


2
実際には、を呼び出すだけで済みますinstaller.jar。既にに設定されているデフォルトの「プログラムから開く」プログラムが自動的に検索されjava.exeます。(そうでない場合、.jarをダブルクリックしても最初は実行されません。)
Pacerier
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.