[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