Installation automatisée de logiciel

Fermé
caus909 Messages postés 123 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 4 mars 2011 - 31 juil. 2008 à 14:20
sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 - 31 juil. 2008 à 17:05
Bonjour,
Je travail actuellement sur un logiciel et je dois créer un système permettant d'installer automatiquement ce logiciel à partir du web.
Je sais que c'est possible beaucoup de site comporte des systèmes de ce types.
Je sais que c'est possible par plusieurs moyen mais 2 ont eu plus particulièrement mon attention:
-ActiveX
-Java.
A l'heure actuelle je prèfere réelement le java pour plusieurs raisons :
-Beaucoup trop de virus circulent sous la forme d'ActiveX.
-Les ActivesX ne fonctionne qu'avec IE et windows. (bonne chance pour faire fonctionner un ActiveX sous linux...
-J'ai déja un bout de code sur java.
Donc je prèfererais java (mais si quelqu'un peut me dépanner avec ActiveX n'hésitais pas)
Donc voila ce que doit faire mon controle ActiveX ou mon applet Java :
Télécharger un fichier dans un endroit PRECIS du disque dur (%systemdrive%\InstallTemp)
Lancer ce fichier (%systemdrive%\InstallTemp\Setup.msi /passive) ou (%systemdrive%\InstallTemp\Setup.exe)
J'ai déja une partie du code sur java (celle permettant de lancer le fichier à partir du disque dur)
Donc si vous connaissez uniquement la partie télécharger : postez. Idem si vous connaissez le code complet ou la partie lancement (mon code ne me semble pas étre parfait.)
Pour info voici le code java dont je dispose :
import java.io.*;
import java.net.*;
import java.awt.*;
import java.applet.*;
import java.awt.event.*;

public class AutoSetup extends Applet {
	public void init(){
		try {
			Process p = Runtime.getRuntime().exec("%systemdrive%\InstallTemp\Setup.msi /passive"); 
		} catch (IOException e) {
			//do nothing
		}
	}
};
A voir également:

3 réponses

sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 722
31 juil. 2008 à 14:26
Salut,

Je te conseille de regarder un peu JavaWebStart... Très simple à mettre en place sous JAva et installation simplifiée au maximum (+ le fait qu'il se met à jour auto si tu mets une nouvelle version sur le serveur).

Regarde par ici pour voir une démo JWS: http://www.dlsc.com/Demo.html
Clic sur Launch au milieu de la page et JWS se lancera (si tu as une JRE installée).

hth,
++
1
caus909 Messages postés 123 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 4 mars 2011 10
31 juil. 2008 à 14:30
merci je vais voir ça
1
caus909 Messages postés 123 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 4 mars 2011 10
31 juil. 2008 à 14:48
bon alors j'ai regardé cela avec windows et IE7 de plus prét je trouvais cela pas-mal mais je n'y comprends RIEN mais alors RIEN.
Dommage je trouvais cela pas mal.
J'ai fais la démo et j'ai observé quelque truc assez bizarre:
un fichier de type JNLP se télécharge et s'execute automatiquement mais avec le système de téléchargement d'IE!. (O_o O_O o_O)
Ensuite j'ai bien aimé l'interface de JWS lors du téléchargement.
Mais je n'arrive toujours pas à comprendre comment ce fichier JNLP à pu se télécharger à mon insu (encore si c'était avec java je pourrais comprendre mais la c'était le système de téléchargement d'IE!
1
sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 722
31 juil. 2008 à 17:05
Mais c'est du Java! Cela marche depuis IE ou depuis tout autre navigateur (à condition de l'avoir choisi lors de l'install Java). Ce qui se passe: derrière tout ça, sur un serveur, il y a un fichier de configuration (.jnlp) et des fichiers de ressources (des jars). Les jars sont référenés depuis le jnlp. Lorsque le serveur Web (Apache, IIS, etc.) sert le contenu du fichier jnlp, il le sert avec une extension MIME (application jnlp). Cela indique au navigateur d'appler le plug-in Java qui prend la main par la suite. Les jars référencés dans le jnlp sont téléchargés (on peut avoir un téléchargement "lazy", ie.e à la demande: le fichier est téléchargé au moment ou une référence à une de ses classes/images est faite dans l'application).

Ce qui est intéréssant avec cette approche: les jars se téléchargent une seule fois et restent par la suite dans la mémoire cache de la JVM (tant que tu ne désinstalles pas la JVM, tu auras ton appli). Essaie de réexécuter l'application, tu verras maintenant qu'elle se lance rapidement (plus rien à charger). Même si tu vides les fichiers temporaires et le cache du navigateur, l'appli reste. Et elle est visible dans installer/désinstaller les programmes. Ceci diffère radicalement des Applets.

On peut configurer Java pour créer automatiquement des raccourcis pour les applications Java Web Start exécutées ou on peut le faire en manuel. Et cerise sur le gâteau: supposons qu'une nouvelle version est déployée sur le serveur (cela comprend la modification éventuelle du jnlp et sûrement des modifications des fichiers jar) ==> tous les postes client vont se mettre à jour à la prochaine exécution! Donc effort de déploiement/installation zéro (il suffit de passer l'URL, c'est-à-dire l'adresse du fichier jnlp).

En espérant t'avoir aidé à mieux comprendre,
++
0