アプリケーションの jnlp 記述子でショートカット タグを使用して、アプリケーションのデスクトップ リンクとメニュー エントリを作成します。
これらのショートカットがクライアントで削除された場合、ユーザーの操作なしで自動的に再インストールするにはどうすればよいですか? jnlp ファイルの構成オプションはありますか?
(ところで、私はJava6を使用しています)
アプリケーションの jnlp 記述子でショートカット タグを使用して、アプリケーションのデスクトップ リンクとメニュー エントリを作成します。
これらのショートカットがクライアントで削除された場合、ユーザーの操作なしで自動的に再インストールするにはどうすればよいですか? jnlp ファイルの構成オプションはありますか?
(ところで、私はJava6を使用しています)
これは自動方法のスケルトンです(これが機能するにはクラスパスが必要ですjavaws.jar
):
IntegrationService is = null;
try
{
is = (IntegrationService) ServiceManager.lookup("javax.jnlp.IntegrationService");
}
catch (UnavailableServiceException use)
{
// integration service unavailable
}
if (!is.hasDesktopShortcut())
{
if (!is.requestShortcut(true, true, "Companyapp"))
{
// failed to install shortcuts
}
}
else
{
// shortcuts already exist
}
javaws上のJava6のドキュメントには、実行可能ファイルを使用してアプリを起動するか、制御オプションと呼ばれるメンテナンス操作を実行できることが示されています。
それらのオプションの2つは次のとおりです。
javaws -uninstall <jnlp>
javaws -import [import-options] <jnlp>
あなたができることの一つは
javaws -import -silent -shortcut <jnlp>
したがって、最初に特定のjnlpアプリをアンインストールしてから、そのアプリとそのショートカットをサイレントに再インポートするスクリプトを実行できれば、問題は解決します。Javaが自動的にこれを行うとは思いません。
ドキュメントには、ショートカットオプションが機能するためにはサイレントインストールである必要があると記載されていることに注意してください。また、これが実際に自分で機能することを再確認していません。
このリンクを参照してください - http://mindprod.com/jgloss/javawebstart.html
概要:JWS でメニューやデスクトップ ショートカットを再作成する場合は、メニュー項目とデスクトップ アイコンの両方を削除してから、コマンド ラインで javaws -viewer を実行し、ボタンをクリックしてショートカットを作成します。どちらかが存在する場合、javaws.exe はもう一方を作成しません。また、期待していた場所に作成されない可能性もありますので、周りを見てください。
誰かの時間を節約できるように、上記のソリューションにコメントを追加したかっただけです。
アプリケーションがWebStartキャッシュにインストールされているが、ショートカットが削除された場合 (Java の更新時やユーザーが削除した場合など)、 javaws -import -silent -shortcut はアプリケーションのショートカットを再作成するだけではありません。少なくとも 1.6.0_u35 と u37 では。
WebStart は、アプリケーションがキャッシュ内にあるかどうかを確認するように見えます。キャッシュ内にある場合は、ショートカットを作成せずに終了します。期待はずれの...