完全な権限を持つ管理者としてJavaファイルを実行する 質問する

完全な権限を持つ管理者としてJavaファイルを実行する 質問する

Java アプリケーションを作成し、自分の PC と自作 PC でテストしましたが、今のところ順調です... しかし、このアプリケーションはディスコを持っている別の友人のもので、彼の PC (Windows Vista 32 ビット) にアプリケーションを「インストール」したところ、動作しませんでした。その後、検索に検索を重ねたところ、権限に問題があることがわかりました... テストを行うために Vista 32 ビットと XP 32 ビットの仮想マシンをインストールしましたが、完全な管理者権限でアプリケーションを実行できません。

すべての権限でアプリケーションを実行できるバッチ ファイルなどを作成する方法はありますか? すべての権限というのは、デバイスからデータを取得してファイルを保存するにはコンピューターの COM ポートに接続する必要があり、外部ライブラリを使用しているため、知らない権限が必要になる可能性があるからです... これを試してみましたが、何も機能しません:

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

マイクロソフトのelevateスクリプトを使用して、バッチファイルも作成しました。

runas /user:Administrator myjar.jar

しかし、何も機能しませんでした:\何かアイデアはありますか?よろしくお願いします

ベストアンサー1

この回答は、jar または Java クラスに管理者権限を付与したい方向けです。管理者が制限されているディレクトリに保存されているファイルを編集する exe の開発に成功した後、次の手順を開発しました。お役に立てば幸いです。理解しておくべきこと: 1) jar は権限付きで直接コンパイルされるのではなく、他の mainfest ファイルでラップして、最終的に Windows XP/Vista/ 以降のバージョンで権限付きで実行できる exe ファイルを作成する必要があります。実際に、これまでの考えられる回答は、実行前に exe がユーザーに管理者権限を付与するように強制することです。これは、ユーザーが管理者権限で jar を実行する方法を知っていることが期待されていた以前とは異なり、ユーザーにとって使いにくいものです。

簡単な手順は次のとおりです。

  1. いつものように、メインファイル My1.mf を含む try2.jar のような jar ファイルを作成します。したがって、jar ファイルの絶対パスは C:\try.jar になります。

  2. ここで、jar ファイルをラップするのに役立つソフトウェア「Launch4j」をダウンロードする必要があります。ダウンロード リンクは次のとおりです。http://sourceforge.net/projects/launch4j/files/launch4j-3/3.1.0-beta2/

  3. では、5 分ほど時間を取って、このチュートリアルをご覧ください。http://www.youtube.com/watch?v=mARUFRknTYQ;これにより、Launch4j の基本的な機能がわかります。ただし、ここでは、exe のマニフェスト ファイルを作成する方法が明確ではありません。

  4. これを学んだら、マニフェスト ファイルを作成します。これは、拡張子が「.manifest」の単純なテキスト ファイルです。ただし、ここで注意すべき点がいくつかあります。まず、メインフェスト ファイルの名前は、作成する最終的な exe と同じである必要があります。私の場合、exe の名前は「Launchme.exe」になるはずだったので、マニフェスト ファイルの名前は「Launchme.manifest」にする必要があります。次に、マニフェスト ファイルに次の内容をコピーします。

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
    <requestedPrivileges>
    <requestedExecutionLevel level="highestAvailable"   uiAccess="False" />
    </requestedPrivileges>
    </security>
    </trustInfo>
    </assembly>  
    

上記のコードをマニフェスト ファイルにコピーします。ここで 6 行目が問題全体の鍵となります。次に、保存して閉じます。

  1. 次に、Launch4j を起動し、条件に応じてビデオのようにすべてのテキストフィールドに入力します。Wrapper mainfest 列にこのファイル マニフェスト ファイルを追加します。次に、[構成を保存] オプションをクリックし、[ラッパーのビルド] をクリックします。

これで、実行前にユーザーに管理者権限の付与を要求する jar を含む exe ができました。これで、ユーザーはクリック以外のことは何も知る必要がなくなりました。

おすすめ記事