Bonjour,
Mon script dans sa globalité :
''----------------------------------------------''
''----------------------------------------------''
'' Script d'installation d'imprimantes ''
''----------------------------------------------''
''----------------------------------------------''
REM -----------------Options lié aux variables et erreurs-----------------
'Verrouillage des variables'
Option Explicit
'Gestion des erreurs : Ne s'arrete pas lorsqu'il rencontre une erreur'
'On Error Resume Next
REM -----------------Déclaration des variables-----------------
Dim NomPC,objWMIService, ObjProcess, TypeOS, NomIMP, NomSite, Chemin, VarCmd, ObjFSO
REM -----------------Initialisation des variables-----------------
'La variable NomPC reçoit le nom du PC
NomPC = "."
'J'instancie la variable ObjWMIService permettant d'accéder à la bibliothèque
'des services
Set ObjWMIService = GetObject("winmgmts:\\" & NomPC & "\root\cimv2" )
'J'instancie la variable ObjProcess permettant de connaitre les infos sur le processeur
Set ObjProcess = objWMIService.Get("win32_Processor='CPU0'" )
'La variable TypeOS récupère le type d'architecture du processeur (x86 ou x64)
TypeOS=ObjProcess.AddressWidth
'J'instancie la variable VarCmd par l'objet Shell
Set VarCmd = WScript.CreateObject( "WScript.Shell" )
'J'instancie la variable VarCmd par l'objet FileSystemObject
Set ObjFSO = CreateObject("Scripting.FileSystemObject" )
'Nom de l'imprimante
NomIMP = Inputbox("Merci de saisir le nom de l'imprimante","SAISIE NOM IMPRIMANTE","PRTXX" )
'Nom du site'
NomSite = Inputbox("Merci de saisir le nom du site","SAISIE NOM SITE","XX" )
'Chemin des drivers de l'imprimante
Chemin = ObjFSO.GetParentFolderName(Wscript.ScriptFullName)&"\"
'TIMEOUT va me permettre de limiter l'affichage pop-up d'information de
Const TIMEOUT = 3
REM -----------------Début du Script-----------------
If TypeOS = "64" Then
VarCmd.Run "C:\Windows\SysWOW64\PRINTUI.EXE /Sr /n " & Chr(34) & NomIMP & Chr(34) & " /a " &_
Chr(34) & Chemin & NomSite &".dat" & Chr(34) & " m c",,TRUE
Else
VarCmd.Run "RUNDLL32 PRINTUI.DLL,PrintUIEntry /Sr /n " & Chr(34) & NomIMP & Chr(34) & " /a " &_
Chr(34) & Chemin & NomSite &".dat" & Chr(34),,TRUE
End If
En gros, si je laisse la commande comme ceci : "RUNDLL32 PRINTUI.DLL,PrintUIEntry' j'ai une erreur sous Win 7 64. Car il va chercher le programme dans system32 ou lieu SysWOW64.
Un peu quand tu compiles un script Autoit qui te demande si tu veux compiler en 32 ou 64 bits.
Mais si c'est pas possible, je laisserai tel quel.