1

https://chocolatey.org/packages?q=notepadplusplus

"Notepad++ (Install) 7.3.3" looks to be the better one based on the number of downloads, but why is there also "Notepad++ 7.3.3" ?

4
  • May be the install option really install it with shell integration and setup file types and other one is not. Why not you download notepad++ from it's own site?
    – Biswapriyo
    Jun 13, 2017 at 20:04
  • Thanks @Biswa. I could test this, but it would be more efficient to look in the underlying install to compare them if that's possible ? Quite a few packages have a similar kind of duplication, so I was wondering if this is some kind of standard. It also looks like someone has helpfully down-voted this question - perhaps trying to indicate it is a stupid question, which surprises me since there isn't yet an answer . . .
    – stevec
    Jun 14, 2017 at 18:31
  • Upvote. It's a valid question, and I also get annoyed by people downvoting without leaving comments. @Biswa: Chocolatey is a packet manager for windows, making the whole process of browsing to each individual website, downloading installers and going through the install procedure unnecessary.
    – Wouter
    Jun 15, 2017 at 9:22
  • Possibly a duplicate, but this question has a more comprehensive answer
    – stevec
    Jul 30, 2017 at 13:43

1 Answer 1

6

From the Chocolatey FAQ:

What is the difference between packages no suffix as compared to .install .portable?

What is the difference between packages named .install (i. e. autohotkey.install), .portable (i. e. autohotkey.portable) and * (i. e. autohotkey)?

tl;dr: Nearly 100% of the time, the package with no suffix (autohotkey in this example) is going to ensure the *.install. The package without the suffix is for both discoverability and for other packages to take a dependency on.

Hey, good question! You are paying attention! Chocolatey has the concept of virtual packages (coming) and meta packages. Virtual packages are packages that represent other packages when used as a dependency. Metapackages are packages that only exist to provide a grouping of dependencies.

A package with no suffix that is surrounded by packages with suffixes is to provide a virtual package. So in the case of git, git.install, and git.commandline (deprecated for .portable) – git is that virtual package (currently it is really just a metapackage until the virtual packages feature is complete). That means that other packages could depend on it and you could have either git.install or git.portable installed and you would meet the dependency of having git installed. That keeps Chocolatey from trying to install something that already meets the dependency requirement for a package.

Talking specifically about the *.install package suffix – those are for the packages that have a native installer that they have bundled or they download and run.

NOTE: the suffix .app has been used previously to mean the same as .install. But the *.app suffix is now deprecated and should not be used for new packages.

The .portable packages are the packages that will usually result in an executable on your path somewhere but do not get installed onto the system (Add/Remove Programs). Previously the suffixes .tool and *.commandline have been used to refer to the same type of packages.

NOTE: now .tool and .commandline are deprecated and should not be used for new packages.

Want more information? See http://ferventcoder.com/archive/2012/02/25/chocolatey---guidance-on-packaging-apps-with-both-an-install.aspx

Not the answer you're looking for? Browse other questions tagged .