[R]FileExists ne fonctionnent pas (fichier n'est pas dans System32)
Posté : jeu. 11 avr. 2019 18:07
Bonjour,
Actuellement en stage, je dois réaliser un script d'installation de Microsoft Office (passage de 2010 à 2003) destiné à être déployé par GPO.
Cependant voilà, certains utilisateurs doivent avoir une version Pro et d'autres une version Standard. C'est pourquoi pour déterminer la version à installer, je check l'existence de MSACCESS (ACCESS de la suite office) qui est n'est présent que dans la version Pro.
Vous l'aurez compris c'est lorsque je check cette présence que je m’aperçois qu'AutoIT ne le détecte jamais, bien qu'il soit présent.
Ce script doit être fonctionnel sur W7, W8.1 et W10. Je vous mets le bout de code en question (pas très long) qui pose soucis :
Merci d'avance à l'attention que vous porterez à mon problème
Actuellement en stage, je dois réaliser un script d'installation de Microsoft Office (passage de 2010 à 2003) destiné à être déployé par GPO.
Cependant voilà, certains utilisateurs doivent avoir une version Pro et d'autres une version Standard. C'est pourquoi pour déterminer la version à installer, je check l'existence de MSACCESS (ACCESS de la suite office) qui est n'est présent que dans la version Pro.
Vous l'aurez compris c'est lorsque je check cette présence que je m’aperçois qu'AutoIT ne le détecte jamais, bien qu'il soit présent.
Ce script doit être fonctionnel sur W7, W8.1 et W10. Je vous mets le bout de code en question (pas très long) qui pose soucis :
;Recuperation de la version d'Office
$file = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WINWORD.EXE", "")
$file_version = StringSplit(FileGetVersion($file), ".")
Local $exist = FileExists('C:\"Program Files (x86)"\"Microsoft Office"\Office' & $file_version[1] & '\MSACCESS.EXE')
If $exist == 0 Then
; [....] C'est dans ce bloc que rentre toujours mon script
ElseIf $exist == 1 Then
; [...]
EndIf
$file = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WINWORD.EXE", "")
$file_version = StringSplit(FileGetVersion($file), ".")
Local $exist = FileExists('C:\"Program Files (x86)"\"Microsoft Office"\Office' & $file_version[1] & '\MSACCESS.EXE')
If $exist == 0 Then
; [....] C'est dans ce bloc que rentre toujours mon script
ElseIf $exist == 1 Then
; [...]
EndIf