Méthode : Executer un script 64 bits depuis un process 32 Bits

Create 19th juin 2018 (updated 9th août 2018)

Lors des déploiements d’applications ou de scripts via un outil de télédistribution, l’agent utilisé est souvent en 32 Bits.

Cela pose quelques problèmes lorsque l’on veut réaliser des actions en mode 64 Bits comme la modification d’une clé de registre, par exemple au lieu de modifier la clé de registre HKLM\Software\ABC cela modifie HKLM\Software\WOW6432Node\ABC. Vous pouvez également avoir des soucis avec les commandes de type DISM et autres

Il existe une solution de contournement natif dans Windows, les fonctions sysnative

Voici quelques exemples

Pour faire le test :

  • Lancer une commande CMD et tapez la commande SET
  • Lancer cette fois c:\windows\syswow64\cmd.exe et tapez la commande SET

Comparer les variables

32-bit native 64-bit native WOW64
PROCESSOR_ARCHITECTURE X86 AMD64 (*) X86
PROCESSOR_ARCHITEW6432 Not defined Not defined AMD64 (*)

Lorsque vous avez une agent 32 bits sur un poste 64 Bits, vous vous trouvez dans le second cas.

En faisant un simple test de variables déterminer si vous vous trouvez dans le second cas et donc utiliser les fonctions sysnative.

 

0


Laisser un commentaire

Ce message a été modifié par david le 9 août 2018.

  • 9 août 2018 à 23 h 18 min
  • 19 juin 2018 à 0 h 08 min
  • 19 juin 2018 à 0 h 07 min

Cet article a été créé par david le 19 juin 2018.