From 1f58e27600aef6ea8ed76125d6c411fc47933aa7 Mon Sep 17 00:00:00 2001 From: Alexander Mnich <56564725+a-mnich@users.noreply.github.com> Date: Mon, 12 Aug 2024 21:11:40 +0200 Subject: [PATCH] fix(win-msi): set installer scope to machine #29895 Problem: The windows installer did not have the AllUsers property which leads to the installer being misidentified as per user installer. Currently the installer already requires administrative privileges and installs into the system-wide ProgramFiles directory, but the start menu entry and uninstaller registration are created only for the current user. Issue: #29885 https://cmake.org/cmake/help/latest/cpack_gen/wix.html#variable:CPACK_WIX_INSTALL_SCOPE Solution: With setting CPACK_WIX_INSTALL_SCOPE to "perMachine" the generated msi installer includes the Property ALLUSERS=1. Additionally the start menu entries and uninstaller registration will be created for all users. (cherry picked from commit 88f07d6ca4a6d423fa10949e85941f50ba9596e0) --- cmake.packaging/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake.packaging/CMakeLists.txt b/cmake.packaging/CMakeLists.txt index 645215ec92..42b72ae682 100644 --- a/cmake.packaging/CMakeLists.txt +++ b/cmake.packaging/CMakeLists.txt @@ -38,6 +38,7 @@ if(WIN32) # Create start menu and desktop shortcuts set(CPACK_WIX_PROGRAM_MENU_FOLDER "${CPACK_PACKAGE_NAME}") set(CPACK_PACKAGE_EXECUTABLES "nvim" "Neovim") + set(CPACK_WIX_INSTALL_SCOPE "perMachine") # We use a wix patch to add further options to the installer. # See: https://cmake.org/cmake/help/v3.7/module/CPackWIX.html#variable:CPACK_WIX_PATCH_FILE