Issues with WOW64 Redirection

Please check the FAQ (https://www.xyplorer.com/faq.php) before posting a question...
Post Reply
Homes32
Posts: 2
Joined: 27 Jun 2019 18:19

Issues with WOW64 Redirection

Post by Homes32 »

Hello,

I'm having some issues with redirection. I was attempting to configure XYplorer for use as a lightweight emergency shell for Server 2019 Core, so I configured several "User Buttons" on the toolbar for launching various tools, such as regedit, cmd.exe, powershell, etc. via script action. The issue is that programs like cmd.exe and regedit are getting caught by the wow64 file redirection, so they don't open the correct registry, or in the case of cmd.exe can't see important scripts like 'sconfig' that reside in system32. The same is true for launching programs like regedit directly from the file explorer. While researching I found this post which mentions a tweak for disabling the redirection "only if you know what you are doing". Can you expand on why this would not be recommended? Is there another way to force scripting to bypass wow64 redirection? Or a way to present a warning if such redirection occurs?

Thanks.
Homes32

nas8e9
Posts: 2232
Joined: 21 Jun 2008 14:50

Re: Issues with WOW64 Redirection

Post by nas8e9 »

Do you have Configuration > Shell Integration > 64-bit Windows > Show the real System32 directory, enabled? If not, does enabling that setting make a difference?

Homes32
Posts: 2
Joined: 27 Jun 2019 18:19

Re: Issues with WOW64 Redirection

Post by Homes32 »

nas8e9 wrote: 27 Jun 2019 21:51 Do you have Configuration > Shell Integration > 64-bit Windows > Show the real System32 directory, enabled? If not, does enabling that setting make a difference?
Apologies for the late response. The answer is yes. I do have that setting enabled.

nas8e9
Posts: 2232
Joined: 21 Jun 2008 14:50

Re: Issues with WOW64 Redirection

Post by nas8e9 »

It's a hack, but it seems that:

Code: Select all

run("c:\windows\system32\cmd.exe /c regedit.exe");
... runs the 64-bit registry editor?

For reference:

Code: Select all

run("cmd.exe");
... runs the 32-bit version of the command prompt, while:

Code: Select all

run("c:\windows\system32\cmd.exe");
...runs the 64-bit version of the command prompt.

Post Reply