[R] AutoUpdate
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- XenaMelody
- Niveau 4

- Messages : 67
- Enregistré le : mar. 25 oct. 2011 00:45
- Status : Hors ligne
[R] AutoUpdate
Bonjour,
Alors, je ne sais pas si cette demande à déjà été posté (je déteste le système de recherche et j'ai une connection à en vomir) mais serait-il possible de "AutoUpdater" son .exe (script qui téléchargera le .exe updaté automatiquement après confirmation de l'utilisateur) ?
Merci d'avance !
Alors, je ne sais pas si cette demande à déjà été posté (je déteste le système de recherche et j'ai une connection à en vomir) mais serait-il possible de "AutoUpdater" son .exe (script qui téléchargera le .exe updaté automatiquement après confirmation de l'utilisateur) ?
Merci d'avance !
Modifié en dernier par XenaMelody le ven. 20 janv. 2012 00:30, modifié 1 fois.
XenaMelody
L'esprit sert à tout, mais il ne mène à rien.
Talleyrand
Talleyrand
Re: [..] AutoUpdate
Bien sur Alors tu héberge un maj.txt avec la version de ton logiciel
Exemple : 1.1.0.0
Ensuite : Tu récupère la version grâce a la fonction
Et après :
Exemple : 1.1.0.0
Ensuite : Tu récupère la version grâce a la fonction
Code : Tout sélectionner
$version_en_ligne = _INetGetSource("http://www.exemple.fr/maj.txt")► Afficher le texte
Quand le mensonge prend l'ascenseur, la vérité prend l'escalier. Elle met plus de temps, mais elle fini toujours par arriver.
- XenaMelody
- Niveau 4

- Messages : 67
- Enregistré le : mar. 25 oct. 2011 00:45
- Status : Hors ligne
Re: [..] AutoUpdate
D'accord merci mais encore une autre question :/ Comment je fait pour hébergé mon .exe ? Pas avec un hébergeur online du genre mediafire si ?
XenaMelody
L'esprit sert à tout, mais il ne mène à rien.
Talleyrand
Talleyrand
Re: [..] AutoUpdate
Nan, tu utilise un hébergeur normal, moi j'utilise sa, c'est gratuit il faut juste t'inscrire et après tu utilise un logiciel comme FileZilla pour mettre des fichier sur ton serveur
Quand le mensonge prend l'ascenseur, la vérité prend l'escalier. Elle met plus de temps, mais elle fini toujours par arriver.
- XenaMelody
- Niveau 4

- Messages : 67
- Enregistré le : mar. 25 oct. 2011 00:45
- Status : Hors ligne
Re: [..] AutoUpdate
D'accord, merci 
XenaMelody
L'esprit sert à tout, mais il ne mène à rien.
Talleyrand
Talleyrand
-
lesolutionneur
- Niveau 7

- Messages : 368
- Enregistré le : ven. 09 déc. 2011 11:25
- Status : Hors ligne
Re: [R] AutoUpdate
Ça m'étonnerait que l'on puisse remplacer l'exe en cours d'exécution.
Si oui, je me suis vraiement cassé la tête mon système de maj: j'ai fait un logiciel qui ça temporairement dans le temp et qui executé avec des paramètres va telecharger la nouvelle version du soft puis lancer l'executable à la fin de la mise à jour.
J'ai fait aussi un système de changelog sur plusieurs lignes...
Ah oui, j'ai une question que je me suis toujours demandé :
Doit-on mettre des "" dans un fichier ini ou pas ?
Je m'explique: doit-on faire
menu=cassoulet, patates, choux
Ou alors
menu="cassoulet, patates, choux"
?
Merci !
Si oui, je me suis vraiement cassé la tête mon système de maj: j'ai fait un logiciel qui ça temporairement dans le temp et qui executé avec des paramètres va telecharger la nouvelle version du soft puis lancer l'executable à la fin de la mise à jour.
J'ai fait aussi un système de changelog sur plusieurs lignes...
Ah oui, j'ai une question que je me suis toujours demandé :
Doit-on mettre des "" dans un fichier ini ou pas ?
Je m'explique: doit-on faire
menu=cassoulet, patates, choux
Ou alors
menu="cassoulet, patates, choux"
?
Merci !
-
GaRydelaMer
- Niveau 7

- Messages : 450
- Enregistré le : mer. 18 mars 2009 22:12
- Localisation : Montpellier
- Status : Hors ligne
Re: [R] AutoUpdate
Bonjour
J'ai écrit cette fonction pour la mise à jour de l'exe en cours d'utilisation:
avec le code précédent pour l'utiliser.
Le principe, on vérifie si il y a 1 mise à jour (Réseaux, Internet, ...), si oui on la télécharge dans Temp, comme tu peux pas remplacer le script en cours d’exécution on va le fermer, mais avant on créer un fichier Bat qui va faire la mise à jour dés que ton script est fermé.
De plus le dernier paramètre (True/False) permet de relancer ton appli après la mise à jour.
J'ai écrit cette fonction pour la mise à jour de l'exe en cours d'utilisation:
avec le code précédent pour l'utiliser.
Le principe, on vérifie si il y a 1 mise à jour (Réseaux, Internet, ...), si oui on la télécharge dans Temp, comme tu peux pas remplacer le script en cours d’exécution on va le fermer, mais avant on créer un fichier Bat qui va faire la mise à jour dés que ton script est fermé.
De plus le dernier paramètre (True/False) permet de relancer ton appli après la mise à jour.
Code : Tout sélectionner
$version_en_ligne = _INetGetSource("http://www.exemple.fr/maj.txt")
$version_que_la_personne_a = "1.0.0.0"
If $version_que_la_personne_a < $version_en_ligne Then
InetGet("http://www.exemple.fr/logiciel.exe", @TempDir & "\logiciel.exe", 1)
MsgBox(0,"","Mise a jour telecharger")
_SelfUpdate(@TempDir & "\logiciel.exe", 2, "AutoItScript_SelfUpdate", True)
Exit
Else
MsgBox(0,"","Pas de mise a jour")
EndIf
Func _SelfUpdate($Source, $iDelay = 2, $FName = "AutoItScript_SelfUpdate", $Reload = True)
Local $sCmdFile, $sFileName
$sFileName = @TempDir & "\" & $FName & ".bat"
FileDelete($sFileName)
$sCmdFile = 'ping -n ' & $iDelay & ' 127.0.0.1 > nul' & @CRLF _
& ':loop' & @CRLF _
& 'del "' & @ScriptFullPath & '" > nul' & @CRLF _
& 'if exist "' & @ScriptFullPath & '" goto loop' & @CRLF _
& 'copy "' & $Source & '" "' & @ScriptDir & '"' & @CRLF
If $Reload Then $sCmdFile &= @CRLF & '"' & @ScriptFullPath & '"' & @CRLF
$sCmdFile &= 'del ' & $sFileName
FileWrite($sFileName, $sCmdFile)
Run($sFileName, @TempDir, @SW_HIDE)
EndFunc ;==>_SelfUpdate-
lesolutionneur
- Niveau 7

- Messages : 368
- Enregistré le : ven. 09 déc. 2011 11:25
- Status : Hors ligne
Re: [R] AutoUpdate
Moi, j'ai fait en gros la même chose mais pas de bat mais un deuxième exe autoit qui s'occupe de décompresser...
Si j'ai un peu de temps, je l'extrairai de mon soft et le posterai ici.
Si j'ai un peu de temps, je l'extrairai de mon soft et le posterai ici.

