
Kinda like apt-get, but for Windows  - franze
http://chocolatey.org
======
SideburnsOfDoom
The problem that I have with chocolatey is: It's all about the installs. You'd
hope that the people doing it would know how installs work.

But the default place where chocolatey installs is "C:\chocolatey", and "C:\"
is where people who don't understand windows file system layout put things.

The docs (
[https://github.com/chocolatey/chocolatey/wiki/DefaultChocola...](https://github.com/chocolatey/chocolatey/wiki/DefaultChocolateyInstallReasoning)
) make a plausible case that this _option_ might be justified _sometimes_.
Saying "we'll _always_ put it somewhere nonstandard because some people might
sometimes want to install it when they don't have permissions to put programs
where they belong" is unconvincing.

The other argument put forward "It's not installed through the registry" (so?)
and "it's a Special core component tool" (it's not special to anyone who
hasn't installed it yet) are equally weak.

This choice of install folder should arguably be allowed. But it's a rubbish
default, a poor first impression and undermines confidence that they know what
they're doing. It is inexcusable that "C:\Chocolatey" is default and
"C:\Program Files\Chocolatey" is a set-up that one does manually.

~~~
nfg
IME "root of C: drive" default install location is often a sign that software
has bugs when run from paths containing space characters.

~~~
e40
If the app writes files into the installation, then you can't install in
"Program Files", because Windows will capture and redirect those writes.

Cygwin goes to c:\cygwin because it's normal for all sorts of files in that
directory to be written/changed. If it were in "Program Files", it wouldn't
work at all.

To call this a bug is just absurd. It's Microsoft that changed the notion of
what was valid and forced everyone else to conform. Some software isn't able
to conform.

~~~
Nilzor
Apps should write data files to %APPDATA%, not Program Files where the
executables shall reside. The only excuse for installing to c:\chocolatey is
lazyness

~~~
Shorel
In this case, Chocolatey's data files are actually program files for the rest
of the system.

It's just a simple consequence to the fact that Chocolatey is not 'a program'
with clearly defined 'data files', but a general purpose software manager (and
one that should really be a part of Windows).

The Von Neumann architecture won over the Harvard architecture for a reason.
You should learn about it.

~~~
SideburnsOfDoom
> The Von Neumann architecture won over the Harvard architecture for a reason

And then we placed restrictions on it for another reason: security.

See Data Execution Prevention
<http://en.wikipedia.org/wiki/Data_Execution_Prevention> Which, like these
file system permissions, attempts to divide storage into things that you can
write and things that you can execute, and the two only meeting in special
cases.

You're saying that Chocolatey needs elevated privileges to do it's special
thing. Sure. Then it shouldn't be designed around the needs of users who can't
get those permissions.

------
morsch
Seems to me like having the infrastructure in place is only a first step. It's
only as valuable as the packages available within the infrastructure. And
having a useful set of up-to-date packages is a huge amount of continuous (!)
work. You need a lot of volunteers for that, or, ideally, the cooperation of
the upstream developers.

It works very well for Ubuntu (and mostly, I think, plain Debian), as the
Debian package archives are very good in the first place, and beyond those
there is an ecosystem of volunteer or developer maintained PPAs, and beyond
_those_ there are individual .debs released by volunteers or devs that you can
plug in, sidestepping the server requirement.

It's a cultural difference. It took me quite a while to adapt to it when I
switched from Windows to Ubuntu; I was extremely sceptical at first, though
now I love it.

~~~
zokier
Apparently they are relying on upstream binaries and installers to reduce the
package maintainer workload. In my opinion that is a sub-optimal solution.

------
deltasquared
I do not think apt-get means what you think it means.

Chocolatey seems to implement a subset of the functions that apt-get is useful
for.

On Windows if I want to look for system updates, I use Windows update. On
Debian I use apt-get.

On Windows if I want a library to use on a project, I use NuGet. On Debian I
use apt-get.

On Windows if I want to install a bunch of free applications, I probably will
use ninite, but chocolaty looks like a nice replacement for this. On Debian I
use apt-get.

That said chocolatey seems like a nice tool for windows.

~~~
sergiotapia
No need to be pedantic. The OP used apt-get as a good enough analogy and got
the point across quite clearly. It let's you install things quickly, just like
apt-get.

"But with apt-get you can perform searches not just exact name ma-"

Nope. Don't be pedantic. You got the point, that was the intention.

~~~
Nilzor
Not only OP. Chocolatey.net uses that analogy themselves on the front page.

Which brings me to question why this is news, as the homepage (and the
analogy) has been there for quite some while.

------
kijin
What's the difference between "git" and "git.install", or between "7zip" and
"7zip.install"? It seems that there's a dependence between the bare-named
package and the "install" package, but the package description doesn't explain
which one I should use if I just want the familiar app.

~~~
gep13
Have a look here:

[https://groups.google.com/forum/#!msg/chocolatey/odIIsCLfww8...](https://groups.google.com/forum/#!msg/chocolatey/odIIsCLfww8/bDOqqXY8sVwJ)

Gary

------
eric_bullington
I've had to do some Windows development recently and as someone who switched
to Linux 4-5 years ago, package management is what I miss the most (although I
miss a whole host of things). I can't believe how much time I lose browsing
web sites, downloading packages, unzipping, and click installing them. I look
forward to trying this out.

~~~
pmr_
Setting up the system once is only half the problem. Most power users have a
whole host of links of tools that they will usually need and install on a new
machine, but things get really ugly when your stuff gets out of date and the
applications don't update themselves. IMO this is the much harder problem that
is solved by package-managers. The Windows Way requires each application to
replicate some auto-update process which is a great recipe for disaster.

~~~
csense
> each application to replicate some auto-update process

This is one of the reasons that Windows boot takes forever.

------
e40
Why is there a git.install and a git? The descriptions don't seem different.
notepadplusplus also has two flavors. That should be explained in the
description.

~~~
gep13
Have a look here:
[https://groups.google.com/forum/#!msg/chocolatey/odIIsCLfww8...](https://groups.google.com/forum/#!msg/chocolatey/odIIsCLfww8/bDOqqXY8sVwJ)

------
thejosh
Awesome. The closest thing before this was ninite.

Windows really needs a good, clean (and usable for the average computer user)
solution similar to apt-get that isn't controlled by someone like Microsoft.

------
dave1010uk
Also interesting is Ninite [1], which lets you create a lightweight installer
.exe to download and install multiple applications (e.g. Skype, Chrome,
iTunes). Whilst along the same lines as Chocolatey, Ninite seems to be aimed
more at "apps" than "packages" and is something you could save on a USB stick
or send to less tech-savy people.

[1] <http://ninite.com/>

~~~
j-kidd
Just read the Chocolatey vs Ninite comparison [1]. For me, the biggest selling
point of Chocolatey is its decentralized nature, making it useful for
enterprisey deployment.

[1]
[https://github.com/chocolatey/chocolatey/wiki/ChocolateyVsNi...](https://github.com/chocolatey/chocolatey/wiki/ChocolateyVsNinite)

------
awestroke
Too bad windows cmd is so fantastically horrible. This looks like a good
project though.

~~~
shocks
Perhaps you will find this useful: <https://code.google.com/p/clink/>

~~~
bliker
Great! Now I am using cmd + clink + console2. Very natural solution... I have
found powershell to be slower/less responsive for some reason

~~~
seewhat
Any advice on how to make these 3 tools work together? I scanned the web and
experimented today for approx 1 hour but didn't succeed. My general efforts
were: (i) injecting clink into the Console2 process (ii) hosting the injected
cmd process in Console2.

~~~
bliker
I actually did nothing special, I just installed clink as executable. Tested
it in cmd.exe (you will get the message about running clink). Afterwards added
a tab for cmd.exe in console2 and it worked. Whas seems to be a problem for
you?

~~~
seewhat
Hi, thanks for the info. The initial difference is that I cannot use the
installer due to Windows group policies associated with my account (the PC is
not mine to administer). So I've downloaded and extracted the v0.3 zip
archive.

I manually start clink by running "install_dir\clink inject" in a cmd session
and this procedure works correctly. Problems arise when running the same
command in a cmd session in Console2. The Console2 process disappears
(crashes?) after approx 1 sec, then 10s later the clink executable disappears.
Strange behaviour and I may simply drop this and perhaps try again in future
once the tool(s) have matured.

I hadn't used either Console2 or clink before now; I can get by without them
as I'm not a rabid user of the Windows command line. I'll likely casually
experiment with them separately.

------
metachris
I think it's problematic that the package list on the chocolatey website
doesn't show the version numbers of the apps. If I install that Python
package, would it be 2.7.3, 3.2, or another one? Ninite does this well on
their website.

~~~
gep13
The version number is clearly visible on the website:
<http://chocolatey.org/packages/python>

------
thresh
What if the user installs VLC (which is horribly outdated there) and then,
installed VLC, using internal update mechanisms, gets updated? How will that
"system" behave then?

~~~
manojlds
As far as Chocolatey is concerned, you still have the originally installed
version.

------
slajax
The "easy install" is barely tweet-able its so long. Man I'm thankful for curl
x | sh. Nice work on this but it has a major flaw. Windows.

------
virtualritz
2013 -- the year Windows gets a "package manager".

~~~
suhair
This was released at least 2 years back
(<http://nuget.org/packages/chocolatey>)

------
frankblizzard
I like the project - I used it together with powershell to do frontend
development with yeoman on a friends machine. w

------
cnlwsu
The important question... Can I bundle an Ask toolbar with my package?

~~~
motoford
Unfortunately yes. I used chocolaty to install speccy and got Google Chrome
and Google Toolbar installed -- silently.

