2010-02-11 7 views
11

J'ai récemment publié une application Java multiplateforme. Pour la distribution, nous avons créé un programme d'installation NSIS pour Windows et utilisé un DMG pour Mac (qui contient un fichier JarBundled .app). Nous prévoyons également de créer des RPM Linux, des DEB et des tarballs.Comment libérer des correctifs pour les programmes Java

Au total, 5 méthodes de distribution différentes sont à prendre en compte.

Ma question est: Quelle est la meilleure façon multi-plateforme pour patcher un programme Java qui fonctionne sur de nombreuses plateformes?

Répondre

4

Avez-vous envisagé simplement de publier de nouvelles versions mineures de l'application entière, au lieu de correctifs? Puisque vous aurez déjà investi du temps dans les installateurs pour les différentes plates-formes, il semblerait que cela éviterait beaucoup de tracas d'essayer de trouver une deuxième méthode pour chaque plate-forme. Je ne peux pas penser à un inconvénient à moins que votre application est extrêmement grande, car la bande passante est assez bon marché de nos jours.

+0

La raison principale pour laquelle nous voulons éviter cela est que nous ne voulons pas distribuer l'installateur à tout le monde, car la seule chose qui nous protège du piratage est un simple validateur de clé de licence. D'autre part, un patcher peut facilement être distribué depuis notre site Web, car il est inutile sans le programme principal. – cdmckay

+0

Je suis d'accord - il suffit de construire une nouvelle version des programmes d'installation, de sorte que l'utilisateur ne gère pas les différentes méthodes d'installation. –

+0

Comment distribuez-vous votre application d'origine? –

4

Je dirais qu'un script Ant est une manière raisonnablement multiplateforme d'effectuer une tâche. Si votre logique de patch inclut le déplacement de certains fichiers, la mise à jour des fichiers jars, la gestion de la configuration, etc., Ant peut vous convenir. Vous pouvez utiliser AntInstaller en tant que GUI.

+0

Je pense que vous avez mal compris. Je cherche un moyen d'envoyer des correctifs aux utilisateurs. Les utilisateurs qui utilisent cette application seront hautement non-techniques, donc le maximum que nous pouvons en attendre est de pouvoir double-cliquer sur un fichier EXE ou DMG. Edit: NM, on dirait que vous comprenez :) – cdmckay

+0

Pensez-y, sortir un patch est un peu comme sortir un package d'installation complet. En ce qui concerne une bonne installation pour les utilisateurs finaux, dans mon projet, toute la logique d'installation/correctif est un script Ant, et nous utilisons AntInstaller plus un script de démarrage spécifique à la plateforme (.bat/.sh) pour amorcer AntInstaller. Cela pourrait ne pas être la meilleure solution (.exe serait plus agréable), mais - juste mes 2 cents. –

+0

J'apprécierais un commentaire sur le downvote. –

4

Cela peut ne pas être une option pour vous, mais je pense que le meilleur moyen est d'utiliser Java Web Start.

Il fournit des mécanismes indépendants de la plate-forme pour télécharger automatiquement les versions corrigées de votre logiciel.

+0

Je suis confus par cette réponse, comment jws aiderait-il à appliquer un patch? Pourriez-vous élaborer? – kgrad

+0

@Peter Lang: Je travaille pour une entreprise vendant des logiciels commerciaux. La dernière chose que vous voulez, sauf si vous êtes prêt à sacrifier une grande partie de vos clients potentiels OS X, est d'utiliser Java Web Start. Pour commencer, Java a toujours une mauvaise réputation parmi les utilisateurs d'OS X et vous cachez plutôt le fait qu'il s'agit d'une application Java. Ensuite, bien sûr, JWS une énorme charge de son propre problème. – SyntaxT3rr0r

+0

@WizardOfOdds, Java fonctionne bien pour nous sous OS X. Pourriez-vous développer votre expérience avec Java sous OS X, car elle est si mauvaise? Une distribution peut contenir un amorçage initial pour une application JNLP afin que le gros téléchargement puisse être évité. –

Questions connexes