summaryrefslogtreecommitdiffstats
path: root/Help
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2024-06-05 17:40:15 (GMT)
committerBrad King <brad.king@kitware.com>2024-06-05 17:47:36 (GMT)
commit01670894849ca79725b39b5bee9f75a4b5b9419b (patch)
tree676e58f3052f4f42b8c3b4736ced426387ab57e4 /Help
parentefaa9efece0786a80243d005e35e68f18999eb0e (diff)
downloadCMake-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.rst13
-rw-r--r--Help/release/3.29.rst26
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``.