ThoT49
Messages postés153Date d'inscriptiondimanche 4 mars 2007StatutMembreDernière intervention24 avril 2011
-
10 juil. 2007 à 12:22
ThoT49
Messages postés153Date d'inscriptiondimanche 4 mars 2007StatutMembreDernière intervention24 avril 2011
-
15 juil. 2007 à 13:35
Bonjour, je suis en train de creer une application en visual basic 2005 express, et je recherche comment faire pour la qu'elle se mette à jour automatiquement, dès que une mise à jour plus récente est présente sur un ftp.
J'ai entendu parlé que avec click once on pouvait le faire ... mais je ne vois pas comment... Et de plus, si je veux mettre à jour autre chose que mon fichier .exe cela ne sera pas possible avec click once. Enfin bon j'accepte toute aide :)
ThoT49
Messages postés153Date d'inscriptiondimanche 4 mars 2007StatutMembreDernière intervention24 avril 20112 10 juil. 2007 à 15:56
En faite comme je l'avais dit,(dites le moi si je me trompe ^^) on est très limité avec click once, parce que on est obligé de garder le setup de base lorsque l'on publie notre application. pour ensuite pouvoir la mettre a jour, alors que moi, je fait un beau setup avec innosetup. Et du coup cela ne fonctionne plus pareil...
Julien237
Messages postés883Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 3 mars 20097 10 juil. 2007 à 17:06
Oui bien sûr si tu choisis de travailler avec autre chose que le Framework, il ne faut pas utiliser ClickOnce, ClickOnce est un outil pour les applications utilisant le CLR du Framework.
Mais personnellement je trouve ça bête de faire un setup avec Innosetup qui n'apporte pas d'avantages face à celui du CLR mais pas mal d'inconvénients. A commencer par le fait que ton application n'est plus multi-plateforme, ce qui est quand même un des buts premier de l'utilisation d'un Framework...
Si tu persiste, à toi de faire dans ton application un système de check de la version de téléchargement...
<hr width="100%" size="2" />Julien.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 10 juil. 2007 à 18:00
Qu'entends-tu par multi-plateforme, parce que de toute façon, un logiciel fait avec Visual Basic quelque soit la version et quelque soit la méthode d'empaquetage et de déploiement, ne fonctionnera jamais que sous Windows.
Certes Mono ouvre la porte de l'univers Linux, mais encore faut-il attendre qu'il soit complètement abouti. De toute façon les packages faits par ClickOnce ne doivent pas etre compatible Linux, alors....!
Julien237
Messages postés883Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 3 mars 20097 10 juil. 2007 à 18:12
Les empaquetages ClickOnce sont du MSIL, peu importe qu'ils proviennent de VB ou de n'importe quel langage du Framework, ils peuvent être utilisés sur Mono, mais aussi sur des Compact Framework, des Framework 64 bits, ou encore des Framework sous 98, cela n'est pas du tout garanti par l'assembly compilé (exe ou dll) mis dans un empaquetage InnoSetup.
Rappel : La compilation en MSIL et le code obtenu sont totalement indépendants de la plate-forme utilisée.
Mono n'est pas abouti mais déjà fonctionnel en grande partie, et contient un namespace System.Windows.Forms fonctionnel.
"De toute façon les packages faits par ClickOnce ne doivent pas etre compatible Linux, alors....!"
ClickOnce est un composant du Framework, Framework qui est un standard ECMA. Donc chaque Framework, qu'il s'agisse de ceux de Microsoft où de Mono a(ura) un équivalent de ClickOnce (qu'ils appellent comme ils veulent) et s(er)ont compatibles entre eux.
C'est vrai Casy que Mono n'est pas abouti, et qu'il ne dispose peut-être pas encore (je n'en sais rien) d'un équivalent ClickOnce, mais le Framework.Net est une technologie naissante (pas nouvelle dans le concept, cfr java) et je pense que ça vaut le coup de lui faire confiance et de pousser les choses dans cette direction. On y arrivera jamais si tout le monde fais des empaquetages innosetup et n'exploite pas les avantages du Framework.
<hr width="100%" size="2" />Julien.
ThoT49
Messages postés153Date d'inscriptiondimanche 4 mars 2007StatutMembreDernière intervention24 avril 20112 10 juil. 2007 à 18:42
Oui bien sur, mais le probleme est que avec l'install qui est créé avec visual basic, on ne peut pas choisir éxactement où va le dossier, on ne peut pas metre de mot de pass lors de l'installation, on ne peut pas insclure des fichiers enfin je parle tout simplement...
Donc j'ai été forcé de prendre innosetup.
Et personne ne peut m'aider en faite il faut juste aller chercher le .exe et quelques .doc sur un ftp et les remplacer dans le dossier du programme... Mais je ne vois pas du tout comment faire ...
Julien237
Messages postés883Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 3 mars 20097 10 juil. 2007 à 20:00
Salut,
Il suffit d'ajouter un installateur à ton projet et tu peux tout paramètrer comme tu le veux, mot de passe, paramètres d'installation,...
Les fichiers de ton projet sont inclus dans l'installation de Visual Studio je te l'assure...
Tu ne vois pas comment faire ?
Cherche comment utiliser le ftp depuis vb, je l'ai jamais fait mais ca doit pas être très compliqué, il y a des classes toutes faites dans le Framework pour ça.
Regarde à chaque lancement si un fichier sur le ftp est plus récent que ceux installés.
Si oui, tu le télécharge, tu ferme ton application et t'en lance une annexe qui s'occupe de faire le remplacement de fichier puis qui relance l'application principale...
ThoT49
Messages postés153Date d'inscriptiondimanche 4 mars 2007StatutMembreDernière intervention24 avril 20112 13 juil. 2007 à 15:19
Es ce que vous conneteriez un tuto pour creer un setup sur visual studio ? J'ai éssayé mais je n'y arrive pas. Je n'arrive meme pas a trouver de tutos ...
cs_ketchoupi
Messages postés14Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention23 novembre 2008 14 juil. 2007 à 00:01
Bonsoir,
Moi j'ai eu le un peu pres le même probleme avec une application sur des postes clients avec les fichier de mise à jour sur un serveur local. Dans mon exemple je ne gere pas de connection à un serveur ftp.
J'ai créer un executable qui va comparer les fichiers entre le client et le serveur puis télécharge les fichiers différents. Pour finir il lance l'application.
Pour l'utilisateur cela est transparent car il click sur la premiere apllication qui s'occupe de tout.
Code
#Region "Données Membres"
Private UpdateThread As Thread
Private _Directory As String = "P:\Gestion\PGI-FCC\Programme\2.0.0" 'Chemin où se trouve les fichier sur le serveur
#End Region
#Region "Evenements"
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Instanciation du thread
UpdateThread = New Thread(AddressOf UpdateFiles)
'--- Démarre le Thread
UpdateThread.Start()
End Sub
#End Region
#Region "Fonctions"
Private Function TestApplicationActive() As Boolean
'Variable
Dim ProcessApp As Process()
'Verrouillage du test Si application déja ouverte
''Test si PGI-Application Ouvert
'ProcessApp = Process.GetProcessesByName("PGI-Application") 'Nom de l'application
For Each _Process As Process In ProcessApp
MessageBox.Show("Application deja active")
Return True
Next
Return False
End Function
Private Sub UpdateFiles()
'Lance le test si l'application est deja lancé
If TestApplicationActive() = False Then
'Parcours de la liste des fichiers
For Each fichier As String In Directory.GetFiles(_Directory)
'Fichier Source (Serveur)
Dim f As
New FileInfo(fichier)
'Fichier Destination (Client)
Dim fdest As New FileInfo(Application.StartupPath & "\Executable" & f.Name)
'Test si il ont la même date de modification - Si Non Copy le fichier sur le client
If Not f.LastWriteTime = fdest.LastWriteTime Then f.CopyTo(Application.StartupPath & "\Executable" & f.Name, True)
Next
'Lancement du PGI
Process.Start(Application.StartupPath & "\Executable\PGI-Application.exe", "")