[wix-users] Arm64 support - issue in Burn's wow process detection

Nikola Milosavljevic (CLR) nikolam at microsoft.com
Mon Apr 27 18:09:51 PDT 2020


Hi guys,

Here's the second issue with arm64 support in Wix build 3.14.0.3910.

https://github.com/wixtoolset/issues/issues/6162

Burn is failing to detect WOW process on arm64 machines. As a consequence it fails to determine values of native ProgramFiles folder and several other properties/variables. Burn uses Windows IsWow64Process API which does not work on arm64 machines. New API needs to be used: IsWow64Process2

Here's the API reference with comment about arm64 emulation process detection: https://docs.microsoft.com/en-us/windows/win32/api/wow64apiset/nf-wow64apiset-iswow64process

The fix is straightforward, in the following function:
https://github.com/wixtoolset/wix3/blob/2d8b37764ec8453dc78dbc91c0fd444feaa6666d/src/libs/dutil/procutil.cpp#L63

The proposed change is to first check if OS supports IsWow64Process2 API and use it. If it doesn't exist, it would fall back to old code and IsWow64Process API.

The change is ready - it worked fine in my testing on arm64 and older platforms. I'd like to fix the issue and can send PR soon.

Thanks,
Nikola



More information about the wix-users mailing list