Si je puis me permettre, je vous suggère 2 approches.
La première, si vous tenez absolument à avoir un fichier au3 par programme à installer.
Modifier vos scripts au3 comme ceci (Pour 7zip par exemple) :
Code : Tout sélectionner
Func Install_7zip()
FileChangeDir ("I:\Soutien\Commun\")
RunWait ("7-Zip 4.42\7z442.exe /S")
EndFunc
Ensuite dans votre script principal, rajouter chaque fichier dans les includes, et appeler simplement la fonction.
Comme ceci :
Code : Tout sélectionner
#Include <7zip.au3>
; un peut de code
; ...
; Ici j'appel ma fonction d'installation de 7zip.
Install_7zip()
Bon tout ceci n'est quand même pas très logique, alors je vous conseil cette deuxième approche :
Un fichier contenant tout les codes d'installation :
Install.au3 :
Code : Tout sélectionner
#include-once
; On mémorise le chemin d'accès aux programmes d'install
$DirInstall="I:\Soutien\Commun\"
Func Install_7zip()
RunWait ($DirInstall & "7-Zip 4.42\7z442.exe /S")
EndFunc
Func Install_Rar()
RunWait ($DirInstall & "Winrar 3.70\Winrar.exe /S")
EndFunc
Ensuite dans votre programme principal, vous n'avez qu'a appeler les fonctions une a une.
Script_Principal.au3
Code : Tout sélectionner
#Include <Install.au3>
; un peut de code
; ...
Install_7zip()
Install_Rar()
Dans ce genre de configuration, vous pouvez aussi envoyer des paramètres aux fonctions que vous appeler (Le dossier ou ce trouve les fichiers par exemple).
Il vous faudra modifier les scripts comme ceci :
Install.au3 :
Code : Tout sélectionner
#include-once
Func Install_7zip($DirInstall)
RunWait ($DirInstall & "7-Zip 4.42\7z442.exe /S")
EndFunc
Func Install_Rar($DirInstall)
RunWait ($DirInstall & "Winrar 3.70\Winrar.exe /S")
EndFunc
Script_Principal.au3
Code : Tout sélectionner
#Include <Install.au3>
$DirInstall = FileSelectFolder("Choose a folder.", "")
Install_7zip($DirInstall)
Install_Rar($DirInstall)
Voilà, j'espère que ces quelques exemples vous apporterons un peut plus de lumière sur les possibilités qui vous sont offertes !