diff options
author | Brad King <brad.king@kitware.com> | 2024-06-05 17:40:15 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2024-06-05 17:47:36 (GMT) |
commit | 01670894849ca79725b39b5bee9f75a4b5b9419b (patch) | |
tree | 676e58f3052f4f42b8c3b4736ced426387ab57e4 /Help | |
parent | efaa9efece0786a80243d005e35e68f18999eb0e (diff) | |
download | CMake-01670894849ca79725b39b5bee9f75a4b5b9419b.zip CMake-01670894849ca79725b39b5bee9f75a4b5b9419b.tar.gz CMake-01670894849ca79725b39b5bee9f75a4b5b9419b.tar.bz2 |
CPack/WiX: Restore default (missing) InstallScope from 3.28 and lower
In commit 60661f6770 (CPack/WiX: Make InstallScope configurable,
2023-11-07, v3.29.0-rc1~413^2) the `CPACK_WIX_INSTALL_SCOPE` default was
set to `perMachine`. While installers created with `perMachine` have
better behavior on their own than installers created without any
`InstallScope`, they do not cleanly convert existing installations on
updates.
Fixes: #26029
Diffstat (limited to 'Help')
-rw-r--r-- | Help/cpack_gen/wix.rst | 13 | ||||
-rw-r--r-- | Help/release/3.29.rst | 26 |
2 files changed, 31 insertions, 8 deletions
diff --git a/Help/cpack_gen/wix.rst b/Help/cpack_gen/wix.rst index cb56c9d..43e3ff7 100644 --- a/Help/cpack_gen/wix.rst +++ b/Help/cpack_gen/wix.rst @@ -346,7 +346,7 @@ Windows using WiX. This variable can be optionally set to specify the ``InstallScope`` of the installer: - ``perMachine`` (default) + ``perMachine`` Create an installer that installs for all users and requires administrative privileges. Start menu entries created by the installer are visible to all users. @@ -357,6 +357,8 @@ Windows using WiX. ``NONE`` Create an installer without any ``InstallScope`` attribute. + This is the default to preserve compatibility with CPack 3.28 and older. + .. deprecated:: 3.29 This value is only for compatibility with the inconsistent behavior used @@ -365,4 +367,13 @@ Windows using WiX. but the start menu entry and uninstaller registration are created only for the current user. + .. warning:: + + An installation performed by an installer created without any + ``InstallScope`` cannot be cleanly updated or replaced by an + installer with an ``InstallScope``. In order to transition + a project's installers from ``NONE`` to ``perMachine``, the + latter installer should be distributed with instructions to + first manually uninstall any older version. + See https://wixtoolset.org/docs/v3/xsd/wix/package/ diff --git a/Help/release/3.29.rst b/Help/release/3.29.rst index 3903c91..10912b2 100644 --- a/Help/release/3.29.rst +++ b/Help/release/3.29.rst @@ -193,13 +193,6 @@ Other Changes * The :variable:`CPACK_PRODUCTBUILD_DOMAINS` variable now defaults to true. See policy :policy:`CMP0161`. -* The :cpack_gen:`CPack WIX Generator` now produces WiX MSI installers - that create start menu and uninstall entries for all users by default, - as documented by the :variable:`CPACK_WIX_INSTALL_SCOPE` variable - ``perMachine`` value. Previously, without a custom WiX template, - it produced installers that would only create start menu and uninstall - entries for the current user, even though they install for all users. - Updates ======= @@ -218,3 +211,22 @@ Changes made since CMake 3.29.0 include the following. * These versions made no changes to documented features or interfaces. Some implementation updates were made to support ecosystem changes and/or fix regressions. + +3.29.5 +------ + +* The :cpack_gen:`CPack WIX Generator`'s :variable:`CPACK_WIX_INSTALL_SCOPE` + variable, new in 3.29, now defaults to ``NONE``. This restores + compatibility with behavior of 3.28 and below: without a custom WiX + template, it produces installers that only create start menu and + uninstall entries for the current user, even though they install + for all users. + + In 3.29.0 through 3.29.4, ``CPACK_WIX_INSTALL_SCOPE`` defaulted to + ``perMachine``. This created MSI installers that create start menu + and uninstall entries for all users by default. While this behavior + is better on its own, these installers do not cleanly replace existing + installations created with MSI installers produced by 3.28 and below. + 3.29.5 reverts the default for compatibility. Projects may transition + to ``perMachine`` on their own schedule by setting + ``CPACK_WIX_INSTALL_SCOPE``. |