Page 1 sur 1
[R] Télécharger un exe depuis le web et l'installer
Posté : ven. 01 févr. 2008 23:47
par ronin
Bonsoir,
Bonsoir,
j'ai fais un petit scipt connu de vous tous:
Code : Tout sélectionner
RunAsSet ("administrateur","%computername%","MotDePasse")
RunWait("\\MonServeur\incredimail_install.exe")
RunAsSet()
afin de permettre l'installation de differents soft par les utilisateurs du reseau sans qu'ils ai
à passer par moi(qui suis admin).
j'aimerais maintenant pouvoir leur permettre de telecharger les exe depuis un serveur web et les installer ensuite,
il semble que cela se fasse grace à "inetGet",
mais n'étant pas un as de la programmation loin de là,
un peu d'aide ne serais pas de refus.
merci d'avance à tous.

Re: telecharger un exe depuis le web et l'installer
Posté : sam. 02 févr. 2008 00:44
par Vins83
Voilà comment je procede chez moi:
Code : Tout sélectionner
; lien de téléchargement
$FileUrl = "http://angeldisc.free.fr/afterinstall/"
;nom de l'exécutable
$CCleaner = "CCleaner.exe"
; je télécharge un fichier depuis l'Internet en utilisant le protocole http ou ftp.
InetGet($FileUrl & $CCleaner, @ScriptDir & "\install" & $CCleaner, 1, 0)
; je cherche a connaitre la taille du fichier sur le serveur
$size = InetGetSize($FileUrl & $CCleaner)
; et je cherche a connaitre la taille du fichier télécharger
$size1 = FileGetSize(@ScriptDir & "\install" & $CCleaner)
; si les 2 fichiers sont de taille identique,alors je passe a la suite
If $size == $size1 Then
; J'installe mon exe en silencieux
RunWait("installCCleaner.exe /S")
; et je fini par suprimer l'exe
FileDelete("installCCleaner.exe")
EndIf
tu peux faire encore plus simple,mais si la connexion est coupé pendant le téléchargement,sa cré une erreur.
Re: [..] Télécharger un exe depuis le web et l'installer
Posté : sam. 02 févr. 2008 08:24
par ronin
Merci vins
tu me mâche tout le boulot

Re: [..] Télécharger un exe depuis le web et l'installer
Posté : sam. 02 févr. 2008 09:05
par SurPriseS
Tu peut aussi utiliser un exécutable externe genre wget.exe

Re: [..] Télécharger un exe depuis le web et l'installer
Posté : dim. 03 févr. 2008 17:23
par ronin
Bonjour,
j'essai un peu d'améliorer mon script en rajoutant quelques une de vos idées trouvées sur le forum,
genre rajouter une barre de progression pendant le téléchargement de l'application,histoire que l'utilisateur n'ai pas l'impression qu'il ne se passe rien:
j'aimerais que la barre de progression disparaisse lorsque le téléchargement est fini et que l'installation commence.
-1er probleme:
la barre de progression s'arrête à droite pendant le téléchagement.
-2ième probleme:
comme je suis obligé d'arrêter la barre de progression à la fin du téléchargement,
l'installation ne commence jamais
merci d'avance pour vos lumières
voici le script:
► Afficher le textele code
Code : Tout sélectionner
; Script Start - Add your code below here
#include <GUIConstants.au3>
HotKeySet("{ESC}", "endscript")
$Ca = GUICreate ( "" , 250 , 46 , -1 , -1 , $WS_POPUP,$WS_EX_TOPMOST+$WS_EX_WINDOWEDGE+$WS_EX_DLGMODALFRAME)
GUISetBkColor ( 0x000000 , $Ca )
$Da = GUICtrlCreateLabel (" Telechargement en cours ...", 23, -1, 250,23)
GuiCtrlCreateGraphic(-1, 1, 252,45,$SS_SUNKEN)
GUICtrlSetColor(-1, 0XFFFFFF)
GUICtrlSetColor ( $Da, 0XFFFFFF)
GUICtrlSetFont ($Da, "12" , "50" , "" , "Courrier New")
GUICtrlCreateGraphic(1, 23, 250,20)
GUICtrlSetColor(-1, 0x007F00)
GuiSetState(@SW_SHOW)
_SliderRight()
Func _getmsg()
$Msg = GUIGetMsg()
If $Msg = $GUI_EVENT_CLOSE Then Exit
; Ajouter un test quelconque pour sortir de la boucle (Le process d'un telechargement par exemple).
; lien de téléchargement
$FileUrl = "http://ardownload.adobe.com/pub/adobe/reader/win/8.x/8.1/fra/"
;nom de l'exécutable
$Adobe8 = "AdbeRdr810_fr_FR.exe"
; je télécharge un fichier depuis l'Internet en utilisant le protocole http ou ftp.
InetGet($FileUrl & $Adobe8, @ScriptDir & "\install" & $Adobe8, 1, 0)
; je cherche a connaitre la taille du fichier sur le serveur
$size = InetGetSize($FileUrl & $Adobe8)
; et je cherche a connaitre la taille du fichier télécharger
$size1 = FileGetSize(@ScriptDir & "\install" & $Adobe8)
; si les 2 fichiers sont de taille identique,alors je passe a la suite
If $size == $size1 Then Exit
; J'installe mon exe
RunAsSet ("administrateur","%computername%","******")
RunWait("installAdbeRdr810_fr_FR.exe")
RunAsSet()
; et je fini par suprimer l'exe
FileDelete("installAdbeRdr810_fr_FR.exe")
EndFunc
Func _SliderRight()
Local $newcolor,$color = 0x050000
For $m = 0 To 245 Step 5
$newcolor += $color
$ba = GUICtrlCreateLabel( "", $m, 25, 4,16)
GUICtrlSetBkColor($ba, $newcolor)
Sleep(50)
Next
_getmsg()
_SliderLeft()
EndFunc
Func _SliderLeft()
Local $backcolor,$color = 0x050000
For $m = 245 To 0 Step -5
$backcolor += $color
$ba = GUICtrlCreateLabel( "", $m, 25, 4,16)
GUICtrlSetBkColor($ba, $backcolor)
Sleep(50)
Next
_getmsg()
_SliderRight()
EndFunc
Func endscript()
Exit
EndFunc
Re: [..] Télécharger un exe depuis le web et l'installer
Posté : jeu. 07 févr. 2008 17:25
par ronin
Voici la version finale pour ceux que ça intéresse!
merci à vins et à Tlem pour la progress barre
► Afficher le textele code
Code : Tout sélectionner
Opt("TrayIconHide", 1)
#include <GUIConstants.au3>
HotKeySet("{ESC}", "endscript")
local $m = 1
GUICreate("Installation en Cours ...", 252, 25,-1,-1,$WS_CAPTION)
GuiCtrlCreateGraphic(1, 5, 250,15)
GUICtrlSetColor(-1, 0x000000)
$ba = GuiCtrlCreateGraphic(1, 6, 49,13)
GUICtrlSetBkColor($ba, 0x0FF000)
GuiSetState()
_SliderRight()
Func _SliderRight()
For $m = 0 To 201 Step 3
GUICtrlSetPos($ba, $m, 6, 49, 13)
Sleep(70)
Next
_getmsg()
_SliderLeft()
EndFunc ;==>_SliderRight
Func _SliderLeft()
For $m = 201 To 0 Step -3
GUICtrlSetPos($ba, $m, 6, 49, 13)
Sleep(60)
Next
_getmsg()
_SliderRight()
EndFunc ;==>_SliderLeft
Func _getmsg()
$Msg = GUIGetMsg()
If $Msg = $GUI_EVENT_CLOSE Then Exit
; Ajouter un test quelconque pour sortir de la boucle (Le process d'une install par exemple).
; lien de téléchargement
$FileUrl = "http://serveur/programmes/"
;nom de l'exécutable
$Adobe8 = "AdbeRdr810_fr_FR.exe"
; je télécharge un fichier depuis le serveur en utilisant le protocole http
InetGet($FileUrl & $Adobe8, @ScriptDir & "\install" & $Adobe8, 1, 0)
; je cherche a connaitre la taille du fichier sur le serveur
$size = InetGetSize($FileUrl & $Adobe8)
; et je cherche a connaitre la taille du fichier télécharger
$size1 = FileGetSize(@ScriptDir & "\install" & $Adobe8)
; si les 2 fichiers sont de taille identique,alors je passe a la suite
If $size == $size1 Then
; J'installe mon exe
RunAsSet ("administrateur",@computername,"passwd")
RunWait("installAdbeRdr810_fr_FR.exe")
RunAsSet()
; et je fini par suprimer l'exe
FileDelete("installAdbeRdr810_fr_FR.exe")
; ainsi que le script créé
FileDelete("install_Adobe_8r_XP.exe")
EndIf
Exit
EndFunc ;==>_getmsg
Func endscript()
Exit
EndFunc ;==>endscript