0

サービスとして実行する必要がある Java アプリケーションを作成しました。サービスラッパーについてはたぬきや他のラッパーソフトを使ってみました。現在、私のアプリケーションはサービスとして実行されていますが、現在ログインしているユーザーではなく、システムの下でサービスとして実行されます。

私のアプリケーションには、アプリケーションがサービスとして実行されているときに表示されない UI があります。サービスが現在ログインしているユーザーではなくSYSTEMで実行されているため、これが発生したとは思えません。アプリケーションを (サービスとしてインストールせずに) 実行すると、UI が表示され、Java プロセスが現在のユーザーの ID で実行されていることがわかりますが、サービスとしてインストールすると SYSTEM で実行されます。

UI がなければ、私のアプリケーションには何もありません。システムの起動時にアプリケーションをサービスとして実行する必要があり、UI も表示する必要があります。

誰かが私がここでやっていることをやろうとしていて、同様の問題に直面していますか? もしそうなら、どのように解決しましたか?この問題を起こさずに使用できる別のラッパー サービスはありますか。

Tanuki のドキュメントでは、Java アプリケーションをサービスとして設定する方法について説明していますが、UI を使用して現在ログインしているユーザーで実行する Java アプリケーションについては説明していません。

アップデート

ここにいる人々が、私が達成しようとしていることについてもう少し理解できるようにするために、私がアプリで実行しようとしている動作は、Dropbox や Yahoo メッセンジャー、またはその他のソフトウェアの動作に似ています。 Windows が起動し、バックグラウンドで引き続き実行されるため、ユーザーはシステム トレイ アイコンを使用して操作できます。. したがって、基本的にこれらはすべて Java/Swing で構築されています。アプリのデプロイが完了したら、スタンドアロンで実行できますが、jar ファイルを実行するか、実行可能なラッパーを作成して実行します。ただし、ソフトウェアを Windows ブートで開始し、バックグラウンドでサービスとして実行し続け、ユーザーが設定したシステム トレイ アイコンから UI を表示して、変更を加えたり操作したりできるようにしたいと考えています。現在のところ、サービスとして正常に実行されています。理想的には必要なすべてのアクションを実行します。UI を表示して構成を変更するためのシステム トレイ アイコンがありません。

アップデート - 2

わかりました..高度なインストーラーを試してみましたが、Windows用のexeインストーラーを生成するためにすべてをまとめています。あとは、ソフトウェアを自動起動するだけです。誰でもこれで私を助けることができますか?高度なインストーラーに、自動起動でプログラムを自動的に追加するオプションが表示されません。

たぬきのドキュメントへのリンク http://wrapper.tanukisoftware.com/doc/english/faq.html

4

3 に答える 3

1

あなたの質問にコメントしたかったのですが、それを行うのに十分な評判がありません。だから私は今答え機能を悪用しています。

同様の問題があります。Windows XP マシンで tanuki ラッパーをしばらく使用したところ、ログインしたすべてのユーザーに Swing GUI が表示されました。

Windows 2008 Server に移行し、現在のバージョンの tanuki ラッパーを次のように構成しました。

wrapper.ntservice.interactive=true
wrapper.ntservice.hide_console=true

(こちらこちらのドキュメントをご覧ください)

Windows サービスは、LOCAL SYSTEM アカウントで実行されます。

しかし、GUI はまだ表示されていません。問題の解決策は見つかりましたか?

于 2012-08-29T22:34:28.717 に答える
1

ローハン、次のページをご覧ください。

http://wrapper.tanukisoftware.com/doc/english/prop-ntservice-interactive.html

最初にログインしたデスクトップに GUI が表示されるようにするには、サービスをインタラクティブとしてマークし、SYSTEM ユーザーとして実行する必要があります。

問題は、Microsoft が Windows 2008 および Vista から許可されているサービスを変更したことです。つまり、これらのバージョン以降、GUI は常にサンドボックス化されたデスクトップに表示され、ユーザーは切り替える必要があります。

Windows のすべてのバージョンで、すべてのデスクトップに GUI を表示する場合は、デスクトップ内で JVM を実行する必要があります。

乾杯、レイフ

于 2012-07-19T07:12:35.400 に答える
0

サービスに UI が必要だとは思わないでください。代わりにスタートアップ グループに入れますか?
UI とアプリケーションは何をしますか?

于 2012-07-18T23:13:29.953 に答える