Update the Windows installer to build on modern Windows and drop 32-bit.

Review Request #12689 — Created Oct. 18, 2022 and submitted

Information

RBTools
release-4.x

Reviewers

This change allows the RBTools for Windows installer to build on modern
Windows systems, with the latest versions of the .NET Framework SDK,
the Windows SDK, and Visual Studio Build Tools.

This is tested on a Windows Server 2022 build VM.

Common WiX property groups have been moved out into common.props, to
help with maintenance. These property groups define some common
directories, file paths, and signing information used by both
bootstrapper.wixproj and rbtools.wixproj.

The modern MSBuild.exe from Visual Studio Build Tools is now used,
instead of the older version from the .NET Framework SDK. The latter
doesn't work with modern versions of the Windows SDK, and crashes. We
discover this in build-installer.bat by using Visual Studio's
vswhere utility, as documented by Microsoft. This should be more
future-proof.

It also drops support for the 32-bit installer. As nearly all systems
are going to be 64-bit these days, and given our target version of
Python 3.10 (which will be in another change), it doesn't seem to make
much sense to continue shipping 32-bit support.

Successfully built the RBTools for Windows installer on Windows Server
2022 with the latest versions of all SDKs and tools.

Summary ID
Update the Windows installer to build on modern Windows and drop 32-bit.
This change allows the RBTools for Windows installer to build on modern Windows systems, with the latest versions of the .NET Framework SDK, the Windows SDK, and Visual Studio Build Tools. This is tested on a Windows Server 2022 build VM. Common WiX property groups have been moved out into `common.props`, to help with maintenance. These property groups define some common directories, file paths, and signing information used by both `bootstrapper.wixproj` and `rbtools.wixproj`. The modern `MSBuild.exe` from Visual Studio Build Tools is now used, instead of the older version from the .NET Framework SDK. The latter doesn't work with modern versions of the Windows SDK, and crashes. We discover this in `build-installer.bat` by using Visual Studio's `vswhere` utility, as documented by Microsoft. This should be more future-proof. It also drops support for the 32-bit installer. As nearly all systems are going to be 64-bit these days, and given our target version of Python 3.10 (which will be in another change), it doesn't seem to make much sense to continue shipping 32-bit support.
d584deb329f9f5724526425185f211ac69b14700
maubin
  1. Ship It!
  2. 
      
david
  1. Ship It!
  2. 
      
chipx86
Review request changed
Status:
Completed
Change Summary:
Pushed to release-4.x (68f91a1)