1

プロジェクトで構成された更新アプリケーションを呼び出すサービスを作成しようとしました。そのため、更新プロセスには「サイレント バージョン チェック」テンプレートを使用し、サンプルからServiceDemo.classを変更して更新アプリケーションを起動しました。

ApplicationLauncher.launchApplication("2529", null, true, null);

アップデーターアプリケーションのスクリーンショット

しかし、サービスを手動で、またはコマンドラインエグゼキューターを使用してインストールまたは開始しようとするたびに、何も起こりませんでした。

次のコマンド ライン呼び出しで、アップデーターが開始されます。

java -cp classes;.install4j\i4jruntime.jar install4j.sample.service.ServiceDemo

i4jruntime.jarをクラスパスに追加する必要がありますか、それとも exe ファイルにバンドルされていますか? しかし、挨拶の例ではそのようなものは見当たりません。そのようなサービスを作成する方法を教えてくれる人はいますか?

バージョン 5.1.5 を使用しています。

よろしく
お願いします

4

1 に答える 1

0

通常、サービスを使用して GUI を表示することはできません。unattended more で (-q フラグを使用して) 実行すると、アップデーターは機能します。

何が起こるかを確認するには、出力をファイルにリダイレクトします (ランチャー ウィザードの「実行可能情報 -> リダイレクト」)。また、アップデーターはログ ファイルを一時ディレクトリに書き込みます。一時ディレクトリは、正常終了後に削除されます。ログファイルを保持するには、-Dinstall4j.keepLog=true.

install4j によって生成されるランチャーに i4jruntime.jar を追加する必要はありません。その JAR ファイルはクラスパスに自動的に追加されます。

于 2013-08-02T18:00:09.373 に答える