ゴーストの問題が発生しています。インストールパッケージにJavaを含めたので、すでにJavaを使用しているユーザーに依存する必要はありません。問題は、時々javaw.exeが私のパッケージに表示されなくなることです!デスクトップショートカットをダブルクリックすると、javaw.exeが見つからないというメッセージが表示され、ショートカットを削除するかどうかを尋ねられます。確認できませんでしたが、パソコンを再起動した時だけだと思います。ただし、すべての再起動ではありません。それがゴーストの問題になっています。何が原因なのか、いつ正確に発生したのかを突き止めることができません。
これは、Vistaでは複数回発生し、XP Proでは(これまでのところ)1回発生しています。XP Proで発生したとき、私のショートカットも変更されました。javaw.exe
に置き換えられましたjava-rmi.exe
。これは、Windowsが解決策を探した結果である可能性があります... .exeが削除されるまでのパターンが見つからなかったため、この問題がXPHomeまたはWin7に存在するかどうかをテストできませんでした。
ショートカットは次のとおりです。
"C:\Program Files\My Application\jre6\bin\javaw.exe" -jar "C:\Program Files\My Application\main.jar"
私のパッケージにはJavaを使用する3つのプロセスがあります。それらはすべて同じjar用ですが、違いは、--argument
main.jarの別の部分を実行するように最後に追加することです。
- プロセスの1つ(私の問題がVistaに表示され始めた後に追加された)は、ユーザーがログインしたときに開始され、システムトレイアイコンを処理します。Java、Swing、JavaFXを使用しています。
- 1つは起動時に開始し、管理者としてバックグラウンドで実行されます。これはJavaのみを使用します。
- もう1つは、ユーザーがショートカットの1つをクリックしたときに実行されるGUIインターフェイスです。これは、まれなSwingJDialogを備えたJavaおよびJavaFXです。
私はJava6とJavaFX2ビルド36または40を使用しています(どちらを使用しているかを確認する方法がわかりません)。XPProにウイルススキャナーがありません。VistaにはWindowsDefenderがありますが、それ以外はありません。Vistaでは、スキャナーを手動で実行しましたが、javaw.exeは影響を受けませんでした。隔離された領域にアイテムがなく、javaw.exeがWindowsDefenderによって削除されたことを示すものもありません。
編集:名前をに変更しようとjavaw.exe
しmyjavaw.exe
ましたが、Vistaで再び発生しました。WindowsDefendersQuarantinedエリアにアイテムはありませんでした。ウイルススキャナーは除外できると思います。今回も、再起動後に発生しました。たぶん私のバックグラウンドプロセスが適切に終了していませんか?これにより、Windowsがexeを削除する可能性がありますか?
これは私の問題ですか、それともJavaまたはJavaFXに関係していますか?それを防ぐにはどうすればよいですか?