Installing Dell Cab Drivers - WoW6432 issue

After extracting the cab file, am running the following fixlet. But it is not installing the drivers.

waithidden "{pathname of file "expand.exe" of system x64 folder}" "{(pathname of client folder of current site) & "\__Download\9030-WIN10-A04-09R0F.CAB"}" -F:* "{pathname of windows folder & "\TEMP"}" 

waithidden cmd.exe /C "c:\windows\system32\pnputil" /add-driver *.inf /subdirs /install "c:\windows\TEMP\9030"}" 

if {number of logged on users = 0} 
restart 0 
else 
action requires restart 
endif

try adding:

action uses wow64 redirection false

In this example, I use the pseudo folder sysnative instead of disabling wow64 redirection:


Why does this matter?

It is because the BigFix agent is a 32bit Windows application, and Windows on Windows redirection silently redirects calls from a 32bit application from one set of folders to a different set of folders depending on which folder path is being used.

For a 32bit app, this path is silently redirected to C:\Windows\SysWOW64\pnputil which is the location of the 32bit System files, instead of C:\Windows\System32\pnputl which is actually the location of the 64bit system files. This is confusing and weird, but this is how Microsoft designed it and doesn’t really have to do with BigFix at all, just the way that WOW redirection works.

Using:

action uses wow64 redirection false

BigFix tells Windows that despite the fact that BigFix is a 32bit app, it is 64bit Windows aware, and then it is able to read the real path of C:\Windows\System32\pnputl without being redirected to the path C:\Windows\SysWOW64\pnputil silently, which pnputil does not exist within.

In my example above, I’m actually using the path C:\Windows\sysnative\pnputil which uses a fake folder sysnative that when a 32bit application attempts to read from it actually gets the real path C:\Windows\System32 instead of C:\Windows\SysWOW64 which allows a 32bit app to read the 64bit system path without disabling WOW redirection entirely.

It is a bit confusing as to why Microsoft didn’t just add a System64 folder in addition to the System32 folder and just keep the 32bit stuff in the System32 folder and only have the 64bit stuff in the System64 folder, but that is not how Windows 64bit was designed.

1 Like

Thanks! It solved the situation.

1 Like