This is a port of 14db629497.
Original commit message:
Since install is per machine only, installation path should be stored
in local machine instead of current user. The registry stores HKLM in
different places for 32 and 64 bit applications, so the installer
will not suggest the old path when upgrading from 32 to 64 bit
version.
Fixesjoyent/node#5592Fixesjoyent/node#25087
PR-URL: https://github.com/joyent/node/pull/25640
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
Reviewed-By: Bert Belder <bertbelder@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/2565
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
This is an adaptation of 8e80528453.
Original commit message:
The MSI install scope was set to the WiX default, which is per-user.
However, with UAC, it could not be installed by a standard user
because InstallPrivileges is elevated by default, hence the install
scope should be set to per-machine. Furthermore, the default install
path is a per-machine location and setting the system path requires
administrator privileges.
By changing the InstallScope to perMachine, Start Menu shortcuts are
placed in ProgramData and not the installing user's AppData folder,
making the shortcuts available to other users. This also fixes the
installation when AppData is a network folder.
The custom action is necessary to allow upgrades. Since a per-machine
MSI cannot upgrade an application installed per-user, the custom
action checks if there is going to be an upgrade to a previous
version installed per-user and sets the installation as per-user to
allow upgrading. Hence, the advantages of installing per-machine will
only apply in fresh installations.
Fixesjoyent/node#5849Fixesjoyent/node#7629
PR-URL: https://github.com/joyent/node/pull/25640
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
Reviewed-By: Bert Belder <bertbelder@gmail.com>
The original commit was adapted to search all upgrade codes listed in
the upgrade table, as the current installer tries to upgrade from two
different upgrade codes.
PR-URL: https://github.com/nodejs/node/pull/2565
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
This enables the MSI to upgrade old Node.js versions and
early versions of io.js before the upgrade code was changed.
This also reverts 24def66293.
PR-URL: https://github.com/nodejs/node/pull/2439
Reviewed-By: Rod Vagg <rod@vagg.org>
This commit replaces instances of io.js with Node.js, based on the
recent convergence. There are some remaining instances of io.js,
related to build and the installer.
Fixes: https://github.com/nodejs/node/issues/2361
PR-URL: https://github.com/nodejs/node/pull/2367
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: João Reis <reis@janeasystems.com>
In theory the msi should broadcast a 'WM_SETTINGCHANGE' message to all
windows after modifying the PATH environment variable. This ensures that
the new PATH is visible to other processes without restarting windows
(although it's still necessary to close and reopen active console
windows).
Unfortunately, the broadcast doesn't always happen, for unknown reasons.
That's why this patch adds a custom action that unconditionally
broadcasts a WM_SETTINGCHANGE message.
Bug: https://github.com/iojs/io.js/issues/603
PR: https://github.com/iojs/io.js/pull/613
Reviewed-by: Bert Belder <bertbelder@gmail.com>
Add a feature to the MSI installer that, when selected, hard-links
node.exe to iojs.exe.
PR: https://github.com/iojs/io.js/pull/346
Reviewed-by: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-by: Rod Vagg <rod@vagg.com>
* quote "NODE_VERSION_STRING" in node.rc to allow for complex version
strings
* change user-facing strings
* make sure .bat files are crlf
PR-URL: https://github.com/iojs/io.js/pull/291
Reviewed-By: Bert Belder <bertbelder@gmail.com>
Reviewed-By: Nikolai Vavilov <vvnicholas@gmail.com>
Create the empty npm folder in Roaming\Appdata so that non-Administrator
users have a place to store global packages. This fixes the error Error:
ENOENT, stat error that occurs when a user tries to run the npm install
<package> command.
Bug: https://github.com/joyent/node/issues/8141
PR: https://github.com/joyent/node/pull/8838
Reviewed-by: Bert Belder <bertbelder@gmail.com>
Please enter the commit message for your changes. Lines starting
This change is strictly limited to the name of the binary. The shortcut
name, install folder, docs website links etc. are all unchanged.
PR-URL: https://github.com/iojs/io.js/pull/263
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Noteworthy installer improvements provided here:
* Support in the Installer UI for not installing shortcuts.
* Support in the Installer UI for choosing a custom install directory.
* Command line support for not installing shortcuts (ADDDEFAULT=nodejs)
* Command line support for custom install directory (INSTALLDIR=c:\tools\node)
This commit enables ETW events to be fired on Windows for existing
DTrace probes. ETW instrumentation is enabled by default. It
is possible to build node.exe without ETW instrumentation by
using --without-etw option with configure script.
The current WiX project files do some manual processing and generation
which WiX supports doing out of the box. This patch will use the
HeatDirectory task to generate the npm.wxs file and use the auto GUID
generation. I also changed the msi filename generation to include the
version number to match the currently used name for released msi files.
Closes#3360
* Update nodemsi.sln and .wixproj to include support for x64 platform
- Add ProgramFilesFolderId to the DefineConstants property for each
configuration/platform's property group with the appropriate value
(ProgramFilesFolder for x86 builds, ProgramFiles64Folder for x64
builds)
* Update product.wxs:
- update the Id value for the "Program Files" Directory element to
use a preprocessor constant.
- remove hard-coded platform from the Package element. MSI platform
will be automatically detected based on MSBuild's Platform property.
(This was already supported in the Wix MSBuild targets, we just
weren't taking advantage of it.)
* Update vcbuild.bat to set MSBuild's Platform property appropriately,
defaulting to x86 if not explicitly supplied by the user. Note that
creating an x64 build requires that vcbuild.bat be run from a VS
64-bit command prompt.
Closes#3312Closes#3356