hen running a 32-bit application on a 64-bit Windows system, you might encounter redirections to %windir%\SysWOW64 or HKLM\Software\WOW6432Node. This is a feature of the Windows File System Redirector. To bypass this redirection and access the native system directory or registry, you can utilize sysnative

ref : Redirecteur du système de fichiers – Win32 apps | Microsoft Learn

Here’s a template for using sysnative:

Set cmddism=dism
Set cmdwusa=wusa
Set cmdpowershell=powershell
Set cmdreg=reg
Set cmdpowercfg=powercfg
Set cmdcscript=cscript
if defined PROCESSOR_ARCHITEW6432 Set cmddism=%SystemRoot%\Sysnative\cmd.exe /c Dism
if defined PROCESSOR_ARCHITEW6432 Set cmdpowershell=%SystemRoot%\sysnative\WindowsPowerShell\v1.0\powershell.exe
if defined PROCESSOR_ARCHITEW6432 Set cmdwusa=%SystemRoot%\sysnative\wusa.exe
if defined PROCESSOR_ARCHITEW6432 Set cmdreg=%SystemRoot%\sysnative\reg.exe
if defined PROCESSOR_ARCHITEW6432 Set cmdpowercfg=%SystemRoot%\Sysnative\cmd.exe /c powercfg
if defined PROCESSOR_ARCHITEW6432 Set cmdcscript=%SystemRoot%\Sysnative\cscript.exe

::You can use the variables (Use sysnative for 32-bit processes.)
%cmdreg% add HKLM\Software\leblogosd ...
%cmdpowershell% -command ...
%cmddism% /add-driver ...

%cmdpowershell% -noprofile -command "Set-ExecutionPolicy bypass LocalMachine"
%cmdpowershell% -file "%~dp0script.ps1"

This script sets up various command variables and then checks if the current process is a 32-bit process running on a 64-bit system. If it is, it modifies the command variables to use the sysnative path, ensuring that the commands run in the native 64-bit environment.


0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.