Node: You added the Chocolatey Checkbox

Created on 4 Nov 2019  路  14Comments  路  Source: nodejs/node

Is your feature request related to a problem? Please describe.
Youre installer installed Chocolatey which in turn installed a motherload of stuff I dont want on my machine with a nightmare to uninstall it all.
Its 3rd party spoof and it has ruined the credibility of nodejs for me.

Describe the solution you'd like
Completely remove this 3rd party hijack from ur installer.

Describe alternatives you've considered
I am going to format my machne, re-install windows, then re-install node while being very careful to NOT check the option to install Chocolatey

build question windows

Most helpful comment

ekern@DESKTOP-BQ67VVL MINGW64 /c/dev/hydrotech/app (develop)
$ clist -l
Chocolatey v0.10.15
2 validations performed. 1 success(es), 1 warning(s), and 0 error(s).

Validation Warnings:
 - A pending system reboot request has been detected, however, this is
   being ignored due to the current command being used 'list'.
   It is recommended that you reboot at your earliest convenience.

chocolatey 0.10.15
chocolatey-core.extension 1.3.4
chocolatey-dotnetfx.extension 1.0.1
chocolatey-visualstudio.extension 1.8.1
chocolatey-windowsupdate.extension 1.0.4
dotnetfx 4.8.0.20190930
KB2919355 1.0.20160915
KB2919442 1.0.20160915
KB2999226 1.0.20181019
KB3033929 1.0.5
KB3035131 1.0.3
python2 2.7.17
vcredist140 14.23.27820
visualstudio-installer 2.0.1
visualstudio2017-workload-vctools 1.3.2
visualstudio2017buildtools 15.9.17.0
16 packages installed.

Thats what it installs, but I maintain that the users decision whether to check or not check the box is made under lack of description and poorly chosen or misleading wording "Required Tools" giving the user the impression that they are node required tools.

All 14 comments

chocolatey is how we install dependencies needed to build native addons, and i think its also what makes our windows installer in the first place, but i could be wrong about that. In any case, it's not some weird spam software, you can check it out here: https://github.com/chocolatey/choco

FWIW, I was not a huge fan of this addition to our installer either. The good thing is, the option is disabled by default, and the description clearly states that additional software will be installed:

node-setup-choco

I have never enabled this feature, so I don't know how much of a hassle it is to get rid of everything.

@nodejs/platform-windows

@tniessen Its a huge hassle it makes many presumptions and installs much.
Ofc I admit I should have read it more closely, however I also propose that the wording "necessary tools" should be changed because none of what Chocolatey installed is "necessary" to build apps with node.
I had just spent hours setting up my new machine and dev env exactly how I like it, and chocolately went ahead and installed a dev env how someone else likes it, including a load of libs and tools which didnt want and will never use.
It makes many unwarranted presumptions.
Even if I did intentionally install Chocolatey it could ask more questions relating to what I may be using node for and how I will deploy it etc, and even what is my preferred IDE etc, rather than presume.

@nodejs/platform-windows

@Trott That link is a 404, and the answer is without context or explanation.

@ekerner-com it clearly says it will install tools nesecary to build native modules, it is disabled by default, I honestly don't know how this could be made any more clear

@bzoz Scroll up and look at the screenshot by tniessen, it does not say "to build native modules".
Again, I concede I was moving too fast, however the sentence "Automatically install the necessary tools fullstop" is misleading Im sure noone can disagree.
If you want to convince urself that the sentence next to the checkbox is clear and concise and cannot be misconstrued I cant debate with you.

Just above the checkbox, there is this statement:

Some npm modules need to be compiled from C/C++ when installing. If you want to be able to install such modules, some tools (Python 2 and Visual Studio Build Tools) need to be installed

IMHO the text is clear. If you have an idea on how to improve it - PRs are always welcomed, the text for the checkbox is here. Opening new PRs is easy, we have a guide over here.

Oh, and the @nodejs/platform-windows pings people from the platform-windows group and notifies them about this issue.

Thanks @bzoz
If Im gonna suggest the text Id be using warding words like bloatware and virus :) Maybe best I leave it for someone else.
But seriously Im honestly too busy to become a contributor here Im sorry I cant remove the stumbling block, maybe the next victim.

Question answered.
OP's reword suggestion does not fit this repo's objectives.
No further action identified.

Has anyone from @nodejs/platform-windows used this option? Can someone confirm whether it installs anything other than what the dialog says, that is, anything other than Python 2, Visual Studio Build Tools and Chocolatey? (Or does Chocolatey come with a bunch of extra software?)

ekern@DESKTOP-BQ67VVL MINGW64 /c/dev/hydrotech/app (develop)
$ clist -l
Chocolatey v0.10.15
2 validations performed. 1 success(es), 1 warning(s), and 0 error(s).

Validation Warnings:
 - A pending system reboot request has been detected, however, this is
   being ignored due to the current command being used 'list'.
   It is recommended that you reboot at your earliest convenience.

chocolatey 0.10.15
chocolatey-core.extension 1.3.4
chocolatey-dotnetfx.extension 1.0.1
chocolatey-visualstudio.extension 1.8.1
chocolatey-windowsupdate.extension 1.0.4
dotnetfx 4.8.0.20190930
KB2919355 1.0.20160915
KB2919442 1.0.20160915
KB2999226 1.0.20181019
KB3033929 1.0.5
KB3035131 1.0.3
python2 2.7.17
vcredist140 14.23.27820
visualstudio-installer 2.0.1
visualstudio2017-workload-vctools 1.3.2
visualstudio2017buildtools 15.9.17.0
16 packages installed.

Thats what it installs, but I maintain that the users decision whether to check or not check the box is made under lack of description and poorly chosen or misleading wording "Required Tools" giving the user the impression that they are node required tools.

Thank you, @ekerner-com!

I maintain that the users decision whether to check or not check the box is made under lack of description and poorly chosen or misleading wording "Required Tools" giving the user the impression that they are node required tools.

I think the installer is very explicit about the fact that these tools are only required for native modules: The dialog title is "Tools for Native Modules", the subtitle is "Optionally install the tools necessary to compile native modules" (making it very clear that this is optional), and then there is more text explaining what these tools are for. However, I can see this being confusing to new users who don't know what native modules are.

Even if you check the box, it will not perform the installation directly, instead, it will start this script. The script asks for manual confirmation _twice_ before continuing with the installation. First, it displays information including

This script will install Python and the Visual Studio Build Tools, necessary to compile Node.js native modules. Note that Chocolatey and required Windows updates will also be installed.
You can close this window to stop now. Detailed instructions to install these tools manually are available at https://github.com/nodejs/node-gyp#on-windows

Then, after the user manually confirms that they would like to continue, it displays this:

Using this script downloads third party software
This script will direct to Chocolatey to install packages.

Only after accepting this, the installation begins. At this point, the user has explicitely expressed their consent not once, not twice, but three times.

Thanks @tniessen tniessen

Re: "I can see this being confusing to new users"

Im not a new user, and I understand the message perfectly, however I didnt read it all, I just read - very quickly - what was written beside the checkbox, and only 50% of it.
So ofc its my fault. However who ever reads all of the fine print in these things.
Iv installed node so many times and wasnt expecting any traps.
However I concede that "OP's reword suggestion does not fit this repo's objectives" wins this argument, and it must be its the objective of the installer to promote chocolatey or otherwise promote the installation of the native build tools.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

willnwhite picture willnwhite  路  3Comments

sandeepks1 picture sandeepks1  路  3Comments

srl295 picture srl295  路  3Comments

danialkhansari picture danialkhansari  路  3Comments

stevenvachon picture stevenvachon  路  3Comments