Merge topic 'backport-3.29-cpack-wix-scope-default' into release-3.29
0167089484
CPack/WiX: Restore default (missing) InstallScope from 3.28 and lower
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9586
This commit is contained in:
commit
74e233e8f5
@ -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/
|
||||
|
@ -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``.
|
||||
|
@ -20,5 +20,5 @@ if(NOT CPACK_WIX_LIGHT_EXECUTABLE)
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED CPACK_WIX_INSTALL_SCOPE)
|
||||
set(CPACK_WIX_INSTALL_SCOPE "perMachine")
|
||||
set(CPACK_WIX_INSTALL_SCOPE "NONE")
|
||||
endif()
|
||||
|
Loading…
Reference in New Issue
Block a user