From 88f07d6ca4a6d423fa10949e85941f50ba9596e0 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. --- cmake.packaging/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake.packaging/CMakeLists.txt b/cmake.packaging/CMakeLists.txt index 7dd3f211f3..8c158c39dc 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") set(CPACK_WIX_UI_REF "WixUI_CustomInstallDir") list(APPEND CPACK_WIX_EXTRA_SOURCES ${CMAKE_CURRENT_LIST_DIR}/WixUI_CustomInstallDir.wxs)