0

問題を説明しましょう:

環境

更新したいこのアプリケーションがあります。私も作成したアップデーターjarを呼び出します。アップデーターは古いバージョンを実行しているアプリケーションを強制終了し、アップデーターは新しいバージョンで新しいアプリケーションを起動します。

問題

自分でjarを実行しない限り、新しいバージョンは起動しません。睡眠を追加しても問題は解決しませんでした。

仮説

アップデータ アプリを実行しているユーザーが Java であり、新しいバージョンを実行する権限がない可能性があります。

このJavaアプリケーションが「Javaユーザー」でjarを実行するよりも、最初のJavaをユーザーで実行すると、Javaユーザーは新しいバージョンを実行できません。

ランタイムで jar を実行するときにユーザーを指定する方法はありますか。

Runtime.getRuntime().exec("C://Temp//myapp.jar");
4

1 に答える 1

0

Windows 環境を使用している場合は、以下を試してみると問題が解決する可能性があります

Windows system32 パスでコマンドを試してください

runas /showtrustlevels

次のようなものが得られるはずです。

C:\Windows\system32>runas /showtrustlevels
The following trust levels are available on your system:
0x20000 (Basic User)

次に、「基本ユーザー」の値を取得し、次のようなものを実行して jar を開始します。

runas /trustlevel:0x20000 "java -jar yourfileName.jar"

または、このリンクを試すことができます。役に立つかもしれません

于 2013-02-16T00:53:05.693 に答える