Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I wonder why the author recommend winget but not scoop. Scoop obviously has more community support and that's the most important part of a package manager (more packages, more frequent update, etc).


> I wonder why the author recommend winget but not scoop.

Scott Hanselman works for Microsoft and is a prominent advocate for the .NET/Microsoft ecosystem so his recommendations are likely to skew towards native MS tools in the first instance.

Nothing wrong with that as long as you consume his material through that lens!

That said, I'm quite surprised I hadn't heard of Scoop[0]. Looks interesting...

[0] https://scoop.sh


Best thing about scoop is that it doesn't need admin privileges. Everything is installed as portables in user directory


Everything is installed as portables in user directory

Is that a good thing?


It's absolutely not, but it's being picked up industry-wide and even by Microsoft themselves. Basically any piece of Electron shitware can be found installing itself to %LOCALAPPDATA%, silently updating itself and leaving gigabytes of old copies around in subfolders. I think it's a lost battle and not worth getting angry about anymore.


In corporate environments it is, since you don’t have to get permission from the IT police to install VSCode or Firefox or grep.

(Of course, you should. But sometimes it’s not an option.)


They can prevent that if they want to (there are tons of admin software to prevent users from install unapproved software on windows) so it really is a nonissue. The main issue is extra space, but that also isn't that big of an issue if the app is written well for updates and I don't know why that would be any more or less efficient when installed by "user" vs "admin"


> prevent users from install unapproved software

While they could prevent it, that's not how. The software is never "installed". It's only unzipped to scoops install directory (usually home/scoop/...)

Then it adds the install directory to the PATH and it's done. The copied executables have never been marked as unknown by windows in my experience.

Admins could of course lock down systems to only allow executables with specific hashedls which are manually whitelisted by the admins, but just disallowing installs won't help at all

Disallowing powershell or scripting altogether makes it impossible to use as well.


> Disallowing powershell or scripting altogether makes it impossible to use as well.

You can't really do that, as pwsh can be embedded easily.


It has some pros and cons depends on what you value, but I wish that Linux ecosystem can make it easier to install software in home, no root permission needed.

I have a remote access to a ubuntu server, and I tried to use my zshrc but there is no zsh installed. Maybe asking the admin of the server to install zsh is another way to do it, but I managed to compile zsh and use it as my default shell. Although it works, but I wish that there is a easier way to install software locally without having to resort to compiling.


You can download zsh package from system repo with wget and unpack it, it's just a compressed tar.


> ... native MS tools ...

I recall that the developer of AppGet claiming [0] that Microsoft effectively "stole" AppGet from him.

[0]: https://medium.com/@keivan/the-day-appget-died-e9a5c96c8b22


Microsoft stole the idea of AppGet. The idea of AppGet is chocolatey that stores download urls in yaml files.


I don't believe it. Embrace, extend, and extinguish is dead. /s


Scoop tries to swim upstream and change the default install location. In my experience, this ultimately leads to problems and system fragility. Sure, it should work, but that's no comfort when it doesn't work right when you need it. Instead, you should install software to the default place and install it as admin. That's how it's tested by its developers and that's how it's tested for regression and compatibility within Microsoft.


Winget is the de facto official package manager for Windows. It is or will be included with Windows. I know it’s included in the Insider builds.


It is a mess though, and quite incapable.


Agreed. winget is lacking most features I absolutely need from a package manager, including listing installed packages, uninstalling packages, and updating packages. These are all on the v1 roadmap [1], but for the foreseeable future I'm sticking with scoop.

[1] https://github.com/microsoft/winget-cli/blob/master/doc/wind...


But what package list does it have? That’s the primary criteria. A package manager with no package isn’t of much use.


https://github.com/Microsoft/winget-pkgs

Pretty much everything major with a installer is covered.


Any upsides to scoop compared to chocolatey?


In short, Scoop installs all your apps in the user home dir. Apps are not installed through an installer, but through a .zip file. A pro is that you do not need to be admin on your PC for Scoop to function (handy for PCs that are not in your control). A con I've encountered is that Windows is not very friendly towards apps that are not installed through an installer. I've installed IrfanView through Scoop, but for some reason, Windows restores "Photos" as default app for opening pictures a few times a week, this was not the case when I installed IrfanView with an installer.


^ I've installed IrfanView through Scoop, but for some reason, Windows restores "Photos" as default app for opening pictures a few times a week, this was not the case when I installed IrfanView with an installer.

This may not be Scoops fault. I installed Irfanview with choco and have to reset my default programs setting every so often, presumably since Windows 10 takes user settings as suggestions for the Microsoft PM to ignore every few weeks when the OKRs get thin :).


Here's a comparison page:

https://github.com/lukesampson/scoop/wiki/Chocolatey-Compari...

One advantage is that scoop installs (most) tools into a common place and search path, and thus doesn't pollute environment variables as much.


I'd not heard of Scoop before today but have used chocolatey extensively in the past.

However I'm wary of all these tools (including brew on Mac) as they all feel like a pretty efficient way to main line your own personal supply chain attack into your dev machine!

For that reason I now try to use them sparingly and with a high degree of suspicion.


With most package managers you can review package sources (e.g. "choco info" for chocolatey or "brew info" / "brew edit" for homebrew).

As for threat model it comes down to whether using package management poses larger risk than doing everything manually and risking running a range of outdated packages.


Yes, fair points. It's always a judgement call - which is the lesser of two evils...


True, but it is also an easy way to keep your software up to date which is in itself a security feature. So a bit of a trade off.


It's a lot faster than chocolatey, choco gets painfully slow with many packages due to being serial. Scoop is considerably faster


Seems simpler to me. Active community, big directory of buckets and apps.

https://rasa.github.io/scoop-directory/by-apps


Scoop installs all the files locally by default and doesn't need to be run through an elevated shell. In junction to this, there's also usually less trouble with leftover files after uninstalling programs.

The official software repo might be smaller than chocolate's, but to my eye, as it is moderated through a single open github repo, it seems much simpler.


Tangentially related, but I wish that running elevated from the shell was more ergonomic. I want to just be able to have a sudo-like command to run elevated from an otherwise non-elevated shell. Instead I have to launch a new instance of the shell host that's elevated. ConEmu makes this feel more seamless by doing some window manipulation hacks to bring elevated and non-elevated into tabs of the same window, but Windows Terminal doesn't want to do anything so hacky which means having a second Windows Terminal window when running elevated.

I wonder if improving this is possible within the current design of Windows or if it would be a fundamental change in how it handles user privileges.


>I want to just be able to have a sudo-like command to run elevated from an otherwise non-elevated shell.

Won't the runas command (https://docs.microsoft.com/en-us/previous-versions/windows/i...) let you do this - run a command as Administrator without opening another command/powershell prompt?


cinst gsudo

Works like on linux. Runas and friends are junk.

https://github.com/gerardog/gsudo


I'll have to check this one out. I vaguely remember coming across runas in the past and it not meeting my needs.


In addition to the alternatives others have mentioned, the author of `scoop` also has a package available for `scoop` named `sudo`, described as "An approximation of the Unix sudo command. Shows a UAC popup window unfortunately."

From a non-elevated shell (cmd or ps), you can run `sudo <command>` to a roughly equivalent effect from *nix terminals. I find it meets my needs.


> ... a sudo-like command to run elevated from an otherwise non-elevated shell.

Something like RunAs? [0]

--

[0]: https://en.wikipedia.org/wiki/Runas


That's what I was wondering? It's been around for literally decades. I'm 99.9% linux user now but back in the day runas came in handy on windows for daemons that I would write and test to run in the background as various users or admin.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: