Skip to content

You added the Chocolatey Checkbox #30242

Closed

Description

@ekerner-com

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

Activity

  1. devsnek commented on Nov 4, 2019

    @devsnek
    Member

    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

  2. added
    questionIssues asking questions about Node.js.
    buildIssues and PRs related to Node.js builds or CI infrastructure.
    windowsIssues and PRs related to the Windows platform.
    on Nov 4, 2019
  3. tniessen commented on Nov 4, 2019

    @tniessen
    Member

    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.

  4. Trott commented on Nov 4, 2019

    @Trott
    Member

    @nodejs/platform-windows

  5. ekerner-com commented on Nov 4, 2019

    @ekerner-com
    Author

    @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.

  6. ekerner-com commented on Nov 4, 2019

    @ekerner-com
    Author

    @nodejs/platform-windows

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

  7. bzoz commented on Nov 4, 2019

    @bzoz
    Contributor

    @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

  8. ekerner-com commented on Nov 4, 2019

    @ekerner-com
    Author

    @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.

  9. bzoz commented on Nov 4, 2019

    @bzoz
    Contributor

    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.

  10. ekerner-com commented on Nov 4, 2019

    @ekerner-com
    Author

    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.

  11. gireeshpunathil commented on Nov 4, 2019

    @gireeshpunathil
    Member

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

  12. tniessen commented on Nov 4, 2019

    @tniessen
    Member

    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?)

  13. ekerner-com commented on Nov 4, 2019

    @ekerner-com
    Author
    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.

  14. tniessen commented on Nov 4, 2019

    @tniessen
    Member

    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.

  15. ekerner-com commented on Nov 4, 2019

    @ekerner-com
    Author

    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.

  16. jotaf98 commented on Jan 17, 2021

    @jotaf98

    To a new user, "native modules" sure as hell sound like necessary modules to use nodejs. Hence the implicit pressure to install it.

    There is no context or explanation as to what these "native modules" are, and whether they are necessary for 90% of users. Or whether they can be installed at a later time if needed, or must be installed now.

  17. jordankittle commented on Apr 13, 2021

    @jordankittle

    The option seemed important enough for me to come here to see if I needed to install it. I've decided I'm not going to. I think having an entire screen dedicated to the installation of it makes it feel like it could be very important and it did feel a little pressuring. Maybe adding it to the bottom of one of the other screens (like the one that asks you if you want to add node.js to PATH) would feel less pressuring.

  18. thuccv98 commented on May 18, 2021

    @thuccv98

    helllo everyone...
    so how to remove it?
    thanks

  19. ekerner-com commented on May 18, 2021

    @ekerner-com
    Author

    helllo everyone...
    so how to remove it?
    thanks

    Its basically a virus from my view. You remove it like you remove any virus, a lot of googling and hacking on ur system. It was a headache to remove.

  20. n2k3 commented on Jul 5, 2021

    @n2k3

    After some digging, trial and error, I've come to the following steps to uninstall almost everything with one command:

    1. Press [Windows]+X then press the a key (this will open Windows PowerShell with Admin privileges)
    2. Copy the line below and paste it in to the shell and press enter
    choco uninstall kb2919355 kb2919442 kb2999226 kb3033929 kb3035131 python3 dotnetfx vcredist140 chocolatey-windowsupdate.extension chocolatey-visualstudio.extension chocolatey-dotnetfx.extension chocolatey-core.extension chocolatey -y; choco uninstall visualstudio2019-workload-vctools visualstudio2019buildtools visualstudio-installer -n -y
    1. Reboot your pc, now everything should've been uninstalled that was installed during the Node installation.

    There are probably small remnants left, such as Chocolatey itself and some entries might remain in the Programs and Features. That's because Chocolatey doesn't update those via the registry after any successful uninstalls.

    The above command might be outdated for future releases.
    For a more future proof scenario, probably use this:

    choco uninstall all -y; choco uninstall all -n -y

    NOTE: this is a more broad approach, and could remove stuff that was not installed via Node (for example: if the user has previously used chocolaty before).

    Hopefully this helps somebody.

  21. KavishBamboli commented on Aug 9, 2021

    @KavishBamboli

    After some digging, trial and error, I've come to the following steps to uninstall almost everything with one command:

    1. Press [Windows]+X then press the a key (this will open Windows PowerShell with Admin privileges)
    2. Copy the line below and paste it in to the shell and press enter
    choco uninstall kb2919355 kb2919442 kb2999226 kb3033929 kb3035131 python3 dotnetfx vcredist140 chocolatey-windowsupdate.extension chocolatey-visualstudio.extension chocolatey-dotnetfx.extension chocolatey-core.extension chocolatey -y; choco uninstall visualstudio2019-workload-vctools visualstudio2019buildtools visualstudio-installer -n -y
    1. Reboot your pc, now everything should've been uninstalled that was installed during the Node installation.

    There are probably small remnants left, such as Chocolatey itself and some entries might remain in the Programs and Features. That's because Chocolatey doesn't update those via the registry after any successful uninstalls.

    The above command might be outdated for future releases.
    For a more future proof scenario, probably use this:

    choco uninstall all -y; choco uninstall all -n -y

    NOTE: this is a more broad approach, and could remove stuff that was not installed via Node (for example: if the user has previously used chocolaty before).

    Hopefully this helps somebody.

    This would only remove the additional "necessary tools" that were installed and not node.js itself right?

  22. n2k3 commented on Aug 9, 2021

    @n2k3

    This would only remove the additional "necessary tools" that were installed and not node.js itself right?

    Yes, that's correct.

  23. GrizzlyAK commented on Nov 17, 2021

    @GrizzlyAK

    Another perspective. I'm new to node.js, and this whole choco thing gave me pause. I decided to abort the install of the "additional tools" to research it more. As a new user of node.js, I wrongly assumed, based upon the wording, that this was necessary, simply because I don't know at this point whether or not I need to compile native modules. Not helpful, and seems a bit shady.

  24. jimSampica commented on Jan 20, 2022

    @jimSampica

    I found this issue because I didn't know what "native modules" are or why I would need them. Based upon my reading here it sounds like I don't need them but based on my reading of the dialog my first presumption was that I did.

  25. billyzkid commented on Jun 23, 2023

    @billyzkid

    I agree with the above complaints about installing Chocolatey via the Node installer.

    1. Chocolatey truly is a mess to uninstall. It can't seem to be uninstalled via "Add or Remove Programs" nor can I uninstall the numerous Choco-* programs installed along with it. To address this, Chocolatey.org offers a long Powershell uninstall script and scary disclaimers which also doesn't seem to work. Then they go on to say "Just remove the Chocolatey program folder!" which obviously leaves your PC in a state where it still thinks Chocolately is installed. Why do they even need a special uninstall script? No other professional software needs a script. I consider this bloatware.

    2. The Node installer language is a bit confusing by using the term "necessary tools" even if the checkbox is unchecked by default. Honestly, what percentage of Node users actually need Chocolatey? Seems low.

    Based on this, I wish the Node installer would just refer users to a separate link to install Chocolatey and explain why you'd maybe want or need it, rather than co-installing it with slightly deceptive language. That is what a lot of other annoying software (malware?) used to do back in the day (looking at you Adobe Acrobat Reader).

  26. EddyParkinsonAllTraders commented on Sep 5, 2024

    @EddyParkinsonAllTraders

    Wording:

    "Optionally install native modules?"
    this is the question that needs asking. This should be the main tick box question.

    Why it is useful, wants its own paragraph. How it will be installed, also wants its own paragraph.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    buildIssues and PRs related to Node.js builds or CI infrastructure.questionIssues asking questions about Node.js.windowsIssues and PRs related to the Windows platform.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions