The Windows WiX installer was missing two things for its setup: 1. The "product ID" which is used to uninstall any previous installed LLVM versions. This avoids having versions living side-by-side with each new release. I've reused the same GUID as the current 23.1.0 Win64 installer, to continue that "line" of product. The AArch64 installation and any prior LLVM version (NSIS) before 23.1.0 will need to be uninstalled manually, if we want to avoid side-by-side installatin. 2. A "per machine" scope which avoids messy installations which are installed globally, but cannot be uninstalled globally, and available only for the current user. After this PR, the installation is available / uninstallable to all users on the machine. Since LLVM currently requires cmake 3.20 for building, and hasn't been bumped yet to 3.31, also provide a workaround for the WiX scope setup. Added a release note to signify that users would need to uninstall the previous versions manually. Assisted by Claude Opus 5.
See docs/CMake.html for instructions on how to build LLVM with CMake.