Любой способ, чтобы Java Web Start автоматически устанавливал ярлыки?

мы развертываем приложение для веб-запуска, которое я и другие разработчики знают, как установить ярлыки (Панель управления -> Java в Windows, /приложения/утилиты/настройки Java в OS X), но у нас нет причин полагать, что конечные пользователи знают, как это сделать (или даже знают, что это можно сделать).

есть ли способ установить ярлыки автоматически при первом запуске или (что гораздо предпочтительнее) спросить пользователя, хотят ли они установить ярлыки? Я искал повсюду. но Sun / Oracle docs все говорят, чтобы пройти через Java Cache viewer, который я нахожу совершенно нелепым просить конечных пользователей.

3 ответов


спецификация JNLP позволяет указать, что короткие отрезки должны быть созданы при запуске файла JNLP.

Регистрация <jnlp><information><shortcut> тег.


на javaws команды гласит:

Usage: javaws [control-options]

control-options include:    
  ....
  -import [import-options] <jnlp-file>  import the application to the cache 


import-options include:                     
  ....
  -shortcut         install shortcuts as if user allowed prompt 

Так что вы, вероятно, могли бы сделать это через вызов javaws.


по состоянию на 1.6.0_18+, JWS предлагает IntegrationService.

IS может не только устанавливать / удалять ярлыки на рабочем столе и пункты меню, но и сообщать об успехе или неудаче попыток их создания/удаления.

некоторые незначительные моменты стандартного использования ярлыков (через файл JNLP) с помощью Windows и Linux. JWS предложит пользователю только если приложение. песок-в штучной упаковке. Если приложение. доверено, оно пойдет вперед и попытается создать ярлык.

на Ubuntu Linux пункты меню будут терпеть неудачу молча, но ярлык на рабочем столе работает. Я имел в виду исследовать, будут ли пункты меню Ubuntu работать лучше, используя IS, ориентируя подменю на одно из стандартных подменю, предлагаемых. Если это так,пункты меню могут быть установлены приложением, ориентированным на различные структуры меню в разных ОС.