2010-05-04 12 views
4

J'ai développé une petite application de bureau SWT multiplateforme (Windows et Mac). Il est distribué avec WebStart. Jusqu'ici tout va bien, tout fonctionne.Création d'une application de bureau WebStart Java pour démarrer au démarrage du système sous Windows et Mac

J'ai une nouvelle exigence pour que mon application démarre au démarrage du système (sans intervention de l'utilisateur). Quelle est la meilleure façon d'accomplir cela?

Dans le fichier JNLP J'ai ceci:

<shortcut online="false"> 
    <desktop/> 
    <menu submenu="CompanyName"/> 
</shortcut> 

Sous Windows WebStart crée un lien de bureau [app_name].lnk et les points à javaws.exe et certains fichiers de cache Java comme paramètre avec le nom drôle comme ..\Sun\Java\Deployment\cache\6.0\4\2c0a6a781-213476. Je peux éventuellement trouver par programmation ce lien sur la machine de l'utilisateur par son nom ... erm ... et le copier dans le dossier Startup de l'utilisateur. Je peux cependant voir un problème ici car l'utilisateur peut désactiver l'option de création de raccourcis de bureau WebStart tous ensemble.

Sur Mac WebStart, une boîte de dialogue apparaît pour inviter l'utilisateur à indiquer l'emplacement où créer un fichier [app_name].app (l'utilisateur est autorisé à modifier le nom du lien!) Qui lance une application. Sur Mac, je ne sais pas où se trouve le dossier Startup (and it seems to be much more complex there).

Existe-t-il une bibliothèque Java qui résume démarrer l'application sur le système de démarrage concept sur différentes plates-formes comme le fait SWT pour l'abstraction graphique?

Répondre

2

Il est, mais c'est très nouveau, donc il n'est pas largement disponible. Le IntegrationService a été introduit en 1.6.0u18. La méthode d'intérêt est requestShortcut.

+0

Je ne vois rien en rapport avec * l'application autostart sur le démarrage du système * là-bas, était-ce un bon lien? – parxier

+1

try requestShortcut (true, true, "Startup") –

+0

quelqu'un a essayé cette méthode? ça marche aussi pour Mac OS X? si oui, que mettre là au lieu de "Startup"? –

1

Vous pouvez jeter un oeil à Java Service Wrapper. Cela peut câbler votre programme en tant que service Windows.