[..] Installation d'Irfanview en silencieux

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
vitweety
Niveau 2
Niveau 2
Messages : 15
Enregistré le : ven. 27 févr. 2009 10:13
Status : Hors ligne

[..] Installation d'Irfanview en silencieux

#1

Message par vitweety »

Bonjour,

Je voudrais faire une installation d'irfanview en silencieux via un exe d'autoIT.
En gros j'ai dans un dossier :
irfanview.exe (logiciel en lui meme)
irfanviewfr.exe (traduction du logiciel)

J'ai fait un script en VB, mais je voudrais le faire en AutoIT, mais j'ai un peu de mal (je débute).
Voici mon script VB :

Code : Tout sélectionner

'Installation irfanview 4.23 et de son package FR
Set objShell = CreateObject("WScript.Shell")

'Installation Ifranview
objShell.Run "irfanview.exe /silent /folder=""C:\Program Files\irfanview""" & "/desktop=0" & "/thumbs=0" & "/group=1" & "/allusers=1" & "/assoc=0" & "/assocallusers" & "/ini=""C:\Program Files\IrfanView"""
WScript.Sleep 5000
'Installation du package FR
objShell.Run "irfanviewfr.exe /S /D=""C:\Program Files\irfanview"""
 
J'ai donc en option :
/silent => Installation silencieuse
/folder => L'endroit ou je veux installer le logiciel
/desktop=0 => Aucun raccourci sur le bureau
/Thumbs=0 => Aucun raccourci pour thumbnails
/group=1 => Creation d'un dossier dans le menu démarrer
/Allusers => tous ces paramètres pour tous les utilisateurs
/assoc=0 => n'associer aucun fichier avec l'ouverture d'irfanview
/assocallusers => Associer les mêmes ouvertures de fichier pour tous les utilisateurs
/ini => Emplacement du fichier de parametrage d'Irfanview

J'ai mis un sleep pour attendre la fin de l'installation

Ensuite l'installation du package francais j'ai comme option :
/S => Pour l'installation silencieuse
/D => Pour l'emplacement de l'installation

En fait je ne sais pas trop ou mettre les divers options!

Pour le moment j'ai fait :

Code : Tout sélectionner

;Installation irfanview 4.23 et de son package FR

;Installation Ifranview
Run ("irfanview.exe /silent ["C:\Program Files\irfanview" , [/desktop=0 ,/thumbs=0 ,/group=1 ,/allusers=1 ,/assoc=0 ,/assocallusers ,/ini=""C:\Program Files\IrfanView"""]])
Sleep (5000)
;Installation du package FR
Run "irfanviewfr.exe /S /D=""C:\Program Files\irfanview"""
 
Mais j'ai des erreurs!!

Merci pour votre aide!
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Installation d'Irfanview en silencieux

#2

Message par Tlem »

Je vous conseil plutôt l'utilisation de la commande ShellExecuteWait.

Cela donnerait quelque chose du genre :

Code : Tout sélectionner

ShellExecuteWait ('irfanview.exe', '/desktop=0 /thumbs=0 /group=1 /allusers=1 /assoc=0 /assocallusers /ini="C:\Program Files\IrfanView"')
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Installation d'Irfanview en silencieux

#3

Message par ani »

En utilisant l'objet shell

Code : Tout sélectionner

;Installation irfanview 4.23 et de son package FR
Global $objShell = ObjCreate("WScript.Shell")
;Installation Ifranview
$objShell.Run('irfanview.exe /silent /folder="C:\Program Files\irfanview" /desktop=0 /thumbs=0 /group=1 /allusers=1 /assoc=0 /assocallusers /ini="C:\Program Files\IrfanView"')
Sleep(5000)
;Installation du package FR
$objShell.Run('irfanviewfr.exe /S /D="C:\Program Files\irfanview"')
Sans l'objet

Code : Tout sélectionner

;Installation Ifranview
Run('irfanview.exe /silent /folder="C:\Program Files\irfanview" /desktop=0 /thumbs=0 /group=1 /allusers=1 /assoc=0 /assocallusers /ini="C:\Program Files\IrfanView"')
Sleep(5000)
;Installation du package FR
Run('irfanviewfr.exe /S /D="C:\Program Files\irfanview"')
vitweety
Niveau 2
Niveau 2
Messages : 15
Enregistré le : ven. 27 févr. 2009 10:13
Status : Hors ligne

Re: [..] Installation d'Irfanview en silencieux

#4

Message par vitweety »

N'ayant pas vu vos réponses avant, j'ai réussi avec le package Français :

Code : Tout sélectionner

;installation du package français
run ("irfanviewfr.exe /S", "C:\Program Files\IrfanView\")
Maintenant reste le logiciel en lui même.

je vais tester vos codes, et je vous tiens au courant.
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Installation d'Irfanview en silencieux

#5

Message par ani »

j'ai testé avec irfan4.2 l'install se fait impeccable ;-) (en utilisant l'objet shell, j'ai pas testé la seconde, mais sa doit revenir au même)
après l'installation irfan se lance :)
vitweety
Niveau 2
Niveau 2
Messages : 15
Enregistré le : ven. 27 févr. 2009 10:13
Status : Hors ligne

Re: [..] Installation d'Irfanview en silencieux

#6

Message par vitweety »

ani a écrit :En utilisant l'objet shell

Code : Tout sélectionner

;Installation irfanview 4.23 et de son package FR
Global $objShell = ObjCreate("WScript.Shell")
;Installation Ifranview
$objShell.Run('irfanview.exe /silent /folder="C:\Program Files\irfanview" /desktop=0 /thumbs=0 /group=1 /allusers=1 /assoc=0 /assocallusers /ini="C:\Program Files\IrfanView"')
Sleep(5000)
;Installation du package FR
$objShell.Run('irfanviewfr.exe /S /D="C:\Program Files\irfanview"')
Sans l'objet

Code : Tout sélectionner

;Installation Ifranview
Run('irfanview.exe /silent /folder="C:\Program Files\irfanview" /desktop=0 /thumbs=0 /group=1 /allusers=1 /assoc=0 /assocallusers /ini="C:\Program Files\IrfanView"')
Sleep(5000)
;Installation du package FR
Run('irfanviewfr.exe /S /D="C:\Program Files\irfanview"')

Ces deux méthodes fonctionnent!! La 2ème m'est préférable du fait que les logiciels ne posent aucune question.
J'ai aussi testé la méthode de Tlem, je n'ai pas réussi, faut-il commencer le script par :
Global $objShell = ObjCreate("WScript.Shell")?
Ou par autre chose?

Autre question, Telm me dit :
Je vous conseil plutôt l'utilisation de la commande ShellExecuteWait.
Pourquoi? Quel sont les avantages?
Pour ani => Lequel est le mieux entre les deux que vous m'avez proposé?

En tout cas merci beaucoup! je vais enfin pouvoir commencer à faire d'autre script plus facilement!
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Installation d'Irfanview en silencieux

#7

Message par Tlem »

Regardez dans la documentation pour voir les avantages de la commande ShellExecuteWait.

Si elle ne fonctionne pas, c'est sans doute parce que le chemin de l'exe ou la ligne des options n'est pas valide.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
vitweety
Niveau 2
Niveau 2
Messages : 15
Enregistré le : ven. 27 févr. 2009 10:13
Status : Hors ligne

Re: [..] Installation d'Irfanview en silencieux

#8

Message par vitweety »

Ok merci je vois ca :wink:
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Installation d'Irfanview en silencieux

#9

Message par ani »

les formules wait sont la pour attendre la fin du processus ;)
Runwait & shellexecutewait

Sous vb elles sont déjà implanté dans la cmd run çà doit etre le 3eme parametre (si je me souvient)
Ces deux méthodes fonctionnent!! La 2ème m'est préférable du fait que les logiciels ne posent aucune question.
les deux fonctionnes ;)
J'ai aussi testé la méthode de Tlem, je n'ai pas réussi, faut-il commencer le script par :
Global $objShell = ObjCreate("WScript.Shell")?
Ou par autre chose?
Non faut rien ajouter

Comme vous le dit tlem, il faut indiquer le dossier de votre exe
Exemple les fichiers se trouve dans "E:\irfan" si vous executer votre script en dehors de ce dossier dans le cas contraire il ne faut le repertoire ;)
avec runwait

Code : Tout sélectionner

;Installation irfanview 4.23 et de son package FR
Runwait('E:\irfan\irfanview.exe /silent /folder="C:\Program Files\irfanview" /desktop=0 /thumbs=0 /group=1 /allusers=1 /assoc=0 /assocallusers /ini="C:\Program Files\IrfanView"')
;Sleep(5000)
;Installation du package FR
RunWait('E:\irfan\french422.exe /S /D="C:\Program Files\irfanview"')
avec shellexecutewait

Code : Tout sélectionner

;Installation irfanview 4.23 et de son package FR
ShellExecuteWait("E:\irfan\irfanview.exe",' /silent /folder="C:\Program Files\irfanview" /desktop=0 /thumbs=0 /group=1 /allusers=1 /assoc=0 /assocallusers /ini="C:\Program Files\IrfanView"')
Sleep(5000)
;Installation du package FR
ShellExecuteWait("E:\irfan\irfanviewfr.exe",' /S /D="C:\Program Files\irfanview"')
L'installation c'est bien, tant qu'on a pas ce logiciel sur le pc (faudra penser à la mise à jour) condition => vérifier si le fichier existe dans program files, vérifier la version si nouvelle version alors uninstall et installation de la nouvelle version)

bonne continuation ;)
vitweety
Niveau 2
Niveau 2
Messages : 15
Enregistré le : ven. 27 févr. 2009 10:13
Status : Hors ligne

Re: [..] Installation d'Irfanview en silencieux

#10

Message par vitweety »

Hello,

je repars dans mes scripts. Suite à de nombreuses créations de scripts d'installation de divers logiciels, je dois créer un fichier de log pour savoir si l'installation c'est bien déroulée ou non. Jusqu'à la, rien de bien compliqué (enfin je pense). Là où se pose un soucis, c'est que s'il y a plusieurs actions dans un script et que la 1ere ne fonctionne pas, il faudrait arrêter son exécution.

Par exemple pour Irfanview, si l'installation d'irfanview.exe plante mais que irfanviewfr.exe fonctionne cela posera un soucis.

J'ai donc fait ceci :

Code : Tout sélectionner

;Installation Ifranview 4.23


;Info bulle pour tenir au courant de l'installation.
TrayTip("Installation en cours", "Installation d'Irfanview", 5)

;Installation Ifranview
[b]$retour=[/b]RunWait('irfanview.exe /silent /folder="C:\Program Files\irfanview" /desktop=0 /thumbs=0 /group=1 /allusers=1 /assoc=0 /assocallusers /ini="C:\Program Files\IrfanView"')

;Installation du package FR
[b]$retour=[/b]RunWait('irfanviewfr.exe /S /D="C:\Program Files\irfanview"')

;Fermeture du processus irfanview
ProcessClose("i_view32.exe")

;Info bulle pour tenir au courant de la fin de l'installation.
TrayTip("Installation terminée", "Installation d'irfanview terminée", 3)
sleep (3000)

[b]exit ($retour)[/b]
Le soucis, c'est qu'en faisant ceci, l'installation ne se stoppera pas, et si la 2eme execution se passe bien, il me dira (enfin d'après ce que je pense) que l'installation s'est bien passé (vu que 1 action sur les 2 s'est bien passée).

Comment pourrais-je après chaque action faire un check pour savoir si cela c'est bien passé ou non.

Merci
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Installation d'Irfanview en silencieux

#11

Message par Iste »

ben, si le log a pas marché, je pense que ca sert a rien d'instaler le patchfr, du coup je ferais ca :

Code : Tout sélectionner

;Installation Ifranview 4.23


;Info bulle pour tenir au courant de l'installation.
TrayTip("Installation en cours", "Installation d'Irfanview", 5)

;Installation Ifranview
$retour=RunWait('irfanview.exe /silent /folder="C:\Program Files\irfanview" /desktop=0 /thumbs=0 /group=1 /allusers=1 /assoc=0 /assocallusers /ini="C:\Program Files\IrfanView"')

[color=#FF0000]If $retour = 0 Then exit ($retour)[/color] ; si ca rate, on stop la et on le dit

;Installation du package FR
$retour=RunWait('irfanviewfr.exe /S /D="C:\Program Files\irfanview"')

;Fermeture du processus irfanview
ProcessClose("i_view32.exe")

;Info bulle pour tenir au courant de la fin de l'installation.
TrayTip("Installation terminée", "Installation d'irfanview terminée", 3)
sleep (3000)

exit ($retour)
Car la, ton 1er $retour ne sert a rien vu qu'il est ecrasé juste apres

Edit barbar :
Je te conseil pas ce code car il est moins lisible, mais on peut aussi faire :
► Afficher le texte
Signez ici
vitweety
Niveau 2
Niveau 2
Messages : 15
Enregistré le : ven. 27 févr. 2009 10:13
Status : Hors ligne

Re: [..] Installation d'Irfanview en silencieux

#12

Message par vitweety »

Iste a écrit :ben, si le log a pas marché, je pense que ca sert a rien d'instaler le patchfr,
C'est exactement ce que je voulais dire :)
Iste a écrit :

Code : Tout sélectionner

;Installation Ifranview 4.23


;Info bulle pour tenir au courant de l'installation.
TrayTip("Installation en cours", "Installation d'Irfanview", 5)

;Installation Ifranview
$retour=RunWait('irfanview.exe /silent /folder="C:\Program Files\irfanview" /desktop=0 /thumbs=0 /group=1 /allusers=1 /assoc=0 /assocallusers /ini="C:\Program Files\IrfanView"')

[color=#FF0000]If $retour = 0 Then exit ($retour)[/color] ; si ca rate, on stop la et on le dit

;Installation du package FR
$retour=RunWait('irfanviewfr.exe /S /D="C:\Program Files\irfanview"')

;Fermeture du processus irfanview
ProcessClose("i_view32.exe")

;Info bulle pour tenir au courant de la fin de l'installation.
TrayTip("Installation terminée", "Installation d'irfanview terminée", 3)
sleep (3000)

exit ($retour)
Car la, ton 1er $retour ne sert a rien vu qu'il est ecrasé juste apres
Ok merci je test, mais ça a l'air de ce que je voudrais!! Et oui c'était bien mon problème, mon 1er retour aurait été écrasé, mais je ne savais pas comment faire pour sortir!! (Désolé pour ces questions bateau, mais j'ai commencé la semaine dernière la programmation et en fin de semaine l'AutoIT) :)
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Installation d'Irfanview en silencieux

#13

Message par ani »

Pourquoi le faite d'installer la langue française, le logiciel démarre ?
les switch (parametre) de irfanviewfr sont pas correct ?

merci :)
vitweety
Niveau 2
Niveau 2
Messages : 15
Enregistré le : ven. 27 févr. 2009 10:13
Status : Hors ligne

Re: [..] Installation d'Irfanview en silencieux

#14

Message par vitweety »

Je n'ai pas bien compris la question!!

Le fait est que quand on installe la traduction française, la personne qui l'a développé a, à la fin de l'installation lancé une image qui retrace tout ce qu'il a fait suivant les versions.
Par contre il y a deux exécutable de traduction, moi j'ai pris celui qui changer automatiquement la langue!

Ai-je bien répondu à la question?
Steph
Niveau 3
Niveau 3
Messages : 38
Enregistré le : sam. 21 févr. 2009 17:53
Status : Hors ligne

Re: [..] Installation d'Irfanview en silencieux

#15

Message par Steph »

Salut,

perso je saisit pas bien ! il est multilangue, il y a un executable, 1 fichier d'aide, des fichiers txt et 4 dossiers dont un dossier languages contenant les fichiers de langues...

Image

cdt

ps: sinon s'il ne s'installe pas en multilanguage installe le fichier lang fr via la commande FileInstall afin de l'integrer à ton exe.
vitweety
Niveau 2
Niveau 2
Messages : 15
Enregistré le : ven. 27 févr. 2009 10:13
Status : Hors ligne

Re: [..] Installation d'Irfanview en silencieux

#16

Message par vitweety »

:? Je en vois pas pourquoi on se prend la tête la dessus, alors que c'est réglé!! Mais je vais essayer d'éclaircir ça!

Alors, irfanview est multilangue de base (Allemand et Anglais) Ayant des utilisateurs Français, je voulais installer le logiciel et le pack Français qui va bien. mon soucis de base était de transcrire un script VBS en autiIT. On m'a donc renseigné sur comment faire.

Actuellement dans mon script j'ai
1ere phase => Installation en silencieux du logiciel irfanview
2eme phase => Installation en silencieux du pack FR
3eme phase => Fermeture du logiciel qui s'ouvre apres avoir installé le pak FR.

Est ce que c'est plus clair? Ou je n'ai pas compris la question encore une fois?? (Je commence a me poser des questions sur le fait que je comprenne ou non les questions!! :mrgreen: )

Donc pour le moment tout fonctionne, j'ai même rajouté des sortis de code d'erreur.

Si vous voulez demain je peux poster mon script!!
Avatar du membre
FernandG
Membre émérite
Membre émérite
Messages : 194
Enregistré le : mar. 15 avr. 2008 21:50
Localisation : Picardie
Status : Hors ligne

Re: [..] Installation d'Irfanview en silencieux

#17

Message par FernandG »

Bonsoir,

Moi aussi je peux jouer avec vous ?!?! ;-) IrfanView n'est pas vraiment multilangue. Par défaut, il se lance en anglais. Et, il installe uniquement une "dll" dans le répertoire "Languages" du dossier d'installation, la "Deutsch". Donc par défaut, il ne gère que deux langages.

Voici un exemple d'installation automatique d'IrfanView et, bien sur, silencieuse.

Pré-requis :
- Le programme d'installation : iview423_setup.exe
- La "French.dll" pour franciser le logiciel à télécharger sur le site officiel en cliquant ici. Puis dézipper la dll à coté du pogramme d'installation.

Code : Tout sélectionner

#NoTrayIcon
$path_install = @ScriptDir
RunWait($path_install & '\iview423_setup.exe /silent /folder="' & @ProgramFilesDir & '\IrfanView" /desktop=0 /thumbs=0 /group=1 /allusers=1 /assoc=0 /assocallusers /ini="' & @ProgramFilesDir & '\IrfanView"', @ScriptDir, @SW_HIDE)
FileCopy($path_install & "\French.dll", @ProgramFilesDir & "\IrfanView\Languages", 1)
IniWrite(@ProgramFilesDir & "\IrfanView\i_view32.ini", "Language", "DLL", "French")
IniWrite(@ProgramFilesDir & "\IrfanView\i_view32.ini", "Language", "Lang", "French")
Pense à changer la variable $path_install avec le bon répertoire d'installation.

Voilà.

Bonne soirée, bonne nuit.
AutoITement.
vitweety
Niveau 2
Niveau 2
Messages : 15
Enregistré le : ven. 27 févr. 2009 10:13
Status : Hors ligne

Re: [..] Installation d'Irfanview en silencieux

#18

Message par vitweety »

Bonjour,

VOila mon script comme prévu dans l'état actuel :

Code : Tout sélectionner

;Installation Ifranview 4.23


;Info bulle pour tenir au courant de l'installation.
TrayTip("Installation en cours", "Installation d'Irfanview", 5)

;Installation Ifranview
$retour=RunWait('irfanview.exe /silent /folder="C:\Program Files\irfanview" /desktop=0 /thumbs=0 /group=1 /allusers=1 /assoc=0 /assocallusers /ini="C:\Program Files\IrfanView"')
If $retour = 1 Then exit ($retour) ; si ca rate, on stop l'installation.
    
    
;Installation du package FR
$retour=RunWait('irfanviewfr.exe /S /D="C:\Program Files\irfanview"')
If $retour = 1 Then exit ($retour) ; si ca rate, on stop l'installation.
    
    
;Fermeture du processus irfanview
ProcessClose("i_view32.exe")

;Info bulle pour tenir au courant de la fin de l'installation.
TrayTip("Installation terminée", "Installation d'irfanview terminée", 3)
sleep (3000)

exit ($retour)
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Installation d'Irfanview en silencieux

#19

Message par ani »

ok, personne n'arrive à me comprendre ^^'
comme d'hab ^:p
@vitweety a écrit : Je en vois pas pourquoi on se prend la tête la dessus, alors que c'est réglé!! Mais je vais essayer d'éclaircir ça!
Si c'est réglé ;) de la transcription vb<->au3 alors :)
Ma question n'était là que pour notre (utilisateur) information.
L'installation en mode silencieux doit être transparent et doit le rester, pour le pack fr il install mais démarre le logiciel i_view32.exe, y a pas de raison ? Si ? Non :)

J'ai du procéder ± de la même manière que FernandG pour que l'installation soit tout à fait silencieuse !!
Déplacement des fichiers lang (.dll & .lng)
Ou d'une tout autre manière, décompresser le pack en utilisant un utilitaire tier genre 7z (qui fera parfaitement l'affaire).

Petit soucis : Si exemple, on indique la destination (Folder) de cette manière %ProgramFiles%\irfanview (ce qui ne pose pas de problème sous vb) ce parametre est reprit en compte par le desinstalleur, et lors de son utilisation, il trouve plus les liens rien ne se passe ... bug.

La plupart du temp les installateurs utilise le dossier Program Files\dans l'exemple les paramètres Folder & ini peuvent être retiré ? sauf si on voudrait le rendre portable ;)

@FernandG dans la fonction runwait le hide ne sert à rien ;) , vu qu'on passe par des paramètre du type (hidden software)en mode silencieu.

Bonne continuation ;)
Avatar du membre
FernandG
Membre émérite
Membre émérite
Messages : 194
Enregistré le : mar. 15 avr. 2008 21:50
Localisation : Picardie
Status : Hors ligne

Re: [..] Installation d'Irfanview en silencieux

#20

Message par FernandG »

Bonjour,
ani a écrit :@FernandG dans la fonction runwait le hide ne sert à rien ;) , vu qu'on passe par des paramètre du type (hidden software)en mode silencieu.
Je sais, je sais :wink: mais que veux-tu, par précaution, par on sait jamais ... Enfin de compte, c'est machinal, c'est dur de changer certaines habitudes et plus on prend de l'âge, pire c'est. :) C'est comme pour des simples MsgBox, j'écris toujours :

Code : Tout sélectionner

MsgBox(64, "Info", "Mon texte.")
Sans trop me tromper, je pense que chacun de nous avons nos petits "tics" non ? ;)

Aller, bonne journée.
AutoITement.
Répondre