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

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

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.

Diff Revision 1 (Latest)

Commits

First Last Summary ID Author
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 Christian Hammond
contrib/installers/windows/build-installer.bat
contrib/installers/windows/wix/Product_en-us.wxl
contrib/installers/windows/wix/bootstrapper.wixproj
contrib/installers/windows/wix/common.props
contrib/installers/windows/wix/rbtools.sln
contrib/installers/windows/wix/rbtools.wixproj
Loading...