Closed craigwims closed 1 year ago
I compiled with recent VS2019 build tools and SDK 18362. Did a quick smoketest in rel/dbg x86/x64 ==> Fine
During compilation and checking the diffs a few things came to my mind
<AdditionalOptions>/stack:15000000 /guard:cf %(AdditionalOptions)</AdditionalOptions>
. ok?<AdditionalOptions>/stack:15000000 /guard:cf %(AdditionalOptions)</AdditionalOptions>
. ok?Little limitations of my review
Thanks @schinagl. VerifyResources doesn't need to compile x64 and I won't be building any of the extra tools in the offical build pipeline. I changed the version number as you saw.
Due to the lack of internal documentation and there being no local build to verify the settings I had to try different combinations until I got success. Win32 uses SEH; x64 uses Control Guard. I could probably remove the <ControlFlowGuard>Guard</ControlFlowGuard>
in ClCompile for Win32.
I will confirm the above and create builds to verify.
Perfect☺️
Is there someone who can give it a smoke test on ARM?
I guess that's me.
Firstly, note that the "ARM" architecture is basically legacy as far as I can tell. Any new ARM device today is ARM64; ARM was for Windows RT, which doesn't officially support Win32 applications. As in, AFAIK, the set of devices that can run WinFile ARM but not ARM64 is zero.
The result of the smoke test is that the binary doesn't run because it's missing vcruntime140.dll et al, the ARM(32) versions of those DLLs are not included in the ARM64 redistributable package, and there's no public ARM32 package (see http://aka.ms/vcredist ). They are included with the compiler, so it's possible to copy files around and execute, but this seems like it will cause problems for users.
I pushed a change that renames ARM to ARM64, and I think we should do something along those lines: https://github.com/malxau/winfile/tree/arm-to-arm64
Some notes:
yes, let's move to ARM64 without the SDK change (for now).
The builds work as noted in the upcoming release issue #356.
Prepare for release using internal Microsoft built pipeline, which requires 2019 toolset and some specific settings.
@schinagl, can you review?