| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 09475c29 (CPack/NSIS: Sign the uninstaller,
2017-03-01) and follow-up commit e1ee7b43 (CPack/NSIS: Avoid a race
condition when generating the installer, 2017-03-22). The signing
implementation does not work on Linux for a couple reasons:
* The script tries to run the temporary uninstaller executable,
but of course this cannot be done except on a Windows host.
* The `${NSISDIR}\makensis` file does not exist because `makensis`
is installed elsewhere.
The result is that existing package configurations can break on Linux.
For example, the CPackComponents test fails.
Revert the feature until an alternative implementation approach can be
found.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The installer should not put up a message box to confirm uninstall of a
previous version for silent installs. Furthermore, when the uninstaller
is invoked, do not show its confirmation dialog because either (a) the
installer already asked the user or (b) the installer is running in
silent mode.
Closes: #16328
|
|\
| |
| |
| |
| | |
11768733 NSIS: Quote uninstaller path when executing it in a shell
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Protect our `$0` reference in the shell as `"$0"`. Otherwise it works
with a space in the path only due to an insecure Windows feature.
Prior to this fix, any installer using the option added by commit
v2.8.9~234^2 (Added CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL,
2011-06-11) exposes a local privilege escalation vulnerability.
Reported-by: Amir Szekely <kichik@gmail.com>
Reported-by: Ug_0 Security
|
|/
|
|
|
|
| |
In commit v2.6.0~3438 (ENH: Better support for adding and removing path,
2006-04-27) an include of "WinMessages.NSH" was added without removing
the original include. Remove it now.
|
|
|
|
|
| |
set MUI_WELCOMEFINISHPAGE_BITMAP
set MUI_UNWELCOMEFINISHPAGE_BITMAP
|
|
|
|
|
|
|
| |
Without this, when CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL is set,
the installer tries to uninstall the old version from the default
installation path for the new version, rather than using the path from
the registry where the old version is installed.
|
| |
|
|
|
|
| |
Thanks to Alexander for the bug report.
|
|
|
|
|
|
| |
This was missed by commit 7bbaa428 (Remove trailing whitespace from most
CMake and C/C++ code, 2012-08-13) which only removed trailing spaces,
not TABs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Our Git commit hooks disallow modification or addition of lines with
trailing whitespace. Wipe out all remnants of trailing whitespace
everywhere except third-party code.
Run the following shell code:
git ls-files -z -- \
bootstrap doxygen.config '*.readme' \
'*.c' '*.cmake' '*.cpp' '*.cxx' \
'*.el' '*.f' '*.f90' '*.h' '*.in' '*.in.l' '*.java' \
'*.mm' '*.pike' '*.py' '*.txt' '*.vim' |
egrep -z -v '^(Utilities/cm|Source/(kwsys|CursesDialog/form)/)' |
egrep -z -v '^(Modules/CPack\..*\.in)' |
xargs -0 sed -i 's/ \+$//'
|
|\
| |
| |
| |
| | |
fe58b67 Added CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL
|
| |
| |
| |
| | |
If CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL is set to ON the NSIS installer will look for a previous installed version and ask the user about uninstall.
|
|/
|
|
|
|
|
|
|
|
| |
Allows custom NSIS commands to run prior to any installation
actions. Projects that need to run an uninstaller first,
especially one from a non-NSIS previous revision of a project
that is NOW using CPack and NSIS, may do so by putting custom
NSIS commands into this variable.
Inspired-by: David Golub
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using the NSIS generator from CPack the file NSIS.template.in is
used to generate a project.nsi file for NSIS to process. The file
consists code in the NSIS scripting language. Among other functions
there is an onInit function the initializes the installer. The function
(tries to) recognise admin and power users but fails since NSIS
scripting language relative includes the jump from the current command
so +3 means "run the third command after this one", so a failed check
for admin completely skips the check for a power user and goes directly
to "done:".
User permission lookup was added in initial NSIS support by commit
a11b9a4c (Merge from CPack branch, 2006-01-01). Later commit b1b052fd
(Several changes to for NSIS, 2006-03-01) added a line inside a block
that should be skipped by a jump without updating the jump length.
Update the jump length to correct the behavior.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix NSIS template to more thoroughly use CPACK_PACKAGE_INSTALL_REGISTRY_KEY.
This allows different versions of software to have a separate sections in the
registry to keep track of things (installed components, and uninstall stuff).
Change default of CPACK_PACKAGE_INSTALL_REGISTRY_KEY to follow the value of
CPACK_PACKAGE_INSTALL_DIRECTORY so if an installation overwrites another installation,
the proper registry entries are more likely to be overwritten.
Fix CPack/NSIS generator to not insert code in the NSIS template to skip installation
of already installed components. This enables a repair like behavior and also enables
installing patch releases on top of an older installation.
|
|\
| |
| |
| |
| | |
5a9e8e7 CPack: Add CPACK_NSIS_INSTALL_ROOT variable (#9148)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Control the root directory of the default directory presented to
the end user of an NSIS installer by a CPack variable.
Previously, the value used in the NSIS script was $PROGRAMFILES,
which is equivalent to the "ProgramFiles" environment variable.
That default value is still the same, but now a project may
override the value by setting this new variable.
|
|/
|
|
|
|
|
| |
MUI_FINISHPAGE_RUN is frequently used with NSIS and provides a checkbox
on the finish page of an installer which specifies whether the specified
executable should be run when the installer exits. This commit adds support
for this setting in CPack.
|
| |
|
|
|
|
| |
Replace them with CPACK_PACKAGE_NAME. The registry keys involved in this commit are used by Windows to track things in the Add/Remove programs portion of the Control Panel. With '\' characters in the keyname, the calls do not do what they are intended to do and the installed program never shows up in the control panel view. (Details noted in the issue itself.) Thanks to 'killerfox' for the patch.
|
| |
|
|
|
|
| |
that it is not excluded from execution when 'Do not create shortcuts' is checked.
|
|
|
|
| |
during an NSIS based installer run. Thanks to Bart Janssens for the patch.
|
|
|
|
| |
appropriate places rather than CPACK_NSIS_DISPLAY_NAME. CPACK_NSIS_DISPLAY_NAME is the Add/Remove control panel's description string for the installed package. Using it as the "Name" of the NSIS installer package made the CMake installer itself use really long strings in the installer GUI. This fix still allows for the original intent of the first fix for #8682 -- the ability to separate the installer name from the default install directory, but it uses a new/different variable to achieve the separation.
|
|
|
|
| |
rather than CPACK_PACKAGE_INSTALL_DIRECTORY. Clean separation of these two variables (which have the same value by default) allows an easy workaround for issue #7881, too.
|
| |
|
|
|
|
| |
and remove three other languages not supported by older versions of NSIS. Tested with version 2.18 of NSIS on gaia.kitware.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Details:
==========
- New cpack_add_component, cpack_add_component_group, and
cpack_add_install_type "commands" defined as macros in the CPack
module.
- Documentation for all of the variables and commands in the CPack module.
- Added get_cmake_property(... COMPONENTS) to CMake to ask for the
names of all components. Used in the CPack module to automatically
build component-based installers. (Set CPACK_MONOLITHIC_INSTALL to
turn off component-based installation).
- A group can declare its PARENT_GROUP, to build an arbitrary
hierarchy of groups.
- New CPack command cpack_configure_downloads, which creates an
installer that downloads only the selected components on-the-fly.
Those components marked DOWNLOADED will be separate packages
downloaded on-the-fly (or, all packages can be marked as such with the
ALL option to cpack_configure_downloads). Individual components are
compressed with ZIP at installer-creation time and
downloaded/uncompressed by the installer as needed. This feature is
only available on Windows with NSIS at the moment.
- NSIS installers can install themselves and enable the "Change"
button in Add/Remove programs, allowing users to go back and install
or remove components. This can be disabled through
cpack_configure_downloads, because it's only really useful is most of
the application's functionality is in downloaded components.
- Bug fix: automatically install everything whose COMPONENT was not
specified (it's a hidden, required group)
- Bug fix: fixed removal of components when re-running the NSIS
installer and unchecking components
- Bug fix: NSIS installers now only install/remove the minimal
number of files when re-run to update the installation (or by clicking
"Change" in Add/Remove programs)
|
|
|
|
| |
PackageMaker installers. Thanks to Doug Gregor for all the hard work involved with implementing this patch! Also added new test CPackComponents that is conditionally executed only when NSIS or PackageMaker installer builders are available.
|
| |
|
|
|
|
| |
the icon section of the template, and ability to escape variables correctly
|
| |
|
| |
|
|
|
|
| |
on uninstall
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
path, add welcome page and license page
|
| |
|