git-town / git-town

Git made easy for teams
https://www.git-town.com
MIT License
2.48k stars 103 forks source link

Support winget #1479

Open kevgo opened 4 years ago

kevgo commented 4 years ago

Microsoft finally released an installer on their own: https://github.com/microsoft/winget-cli

kevgo commented 4 years ago

This replaces #639

sheldonhull commented 4 years ago

Just throwing out there that chocolatey is much more mature and well known so while this would also be great, I'm hoping this partially gets resolved for windows automation here in this related issue https://github.com/git-town/git-town/issues/763

I didn't see chocolatey support in the git releaser tool when I scanned, and not sure if the tool needs special configuration to add winget + choco but would be good to know if that's possible or requires the release tool to be updated to support these. Cheers

kevgo commented 4 years ago

Unfortunately, goreleaser doesn't seem to support Chocolatey, which is really too bad. I use Chocolatey to install stuff on Windows as well, it works great. I just think that once there is an official installer from Microsoft, and it is halfways decent and allows installing third-party packages, it's going to be hard for third-party installers to survive.

sheldonhull commented 4 years ago

I understand where you are coming from. I'd be surprised to see it take over anytime soon as it's extremely limited so far and chocolatey already covers such a huge base, that it's kinda like talking about the new Ubuntu desktop taking over Windows Desktop in my eyes 😁 . We'll see! If I get a chance I plan on adding a chocolatey package for this anyway, it's just unlike scoop/brew chocolatey becomes the responsibility of each maintainer instead of a central repo so it's not quite so easy to get a reoccuring package up and running. Might see if there is a github repo template and do it then.

Now that I'm thinking about it, it might just be easier if I contribute an setup.ps1 file to the repo. Would you be open for that? Then it could just be iex $(Invoke-WebRequest setuppath.ps1) type of command and be done, with no extra work. As long as I could get a consistent path for the install, having a single bash + ps1 install script would help out all those other use cases. Same thing that brew, and others do to bootstrap.

kevgo commented 4 years ago

Any contribution around Windows installers is highly appreciated! The maintainers don't use Windows so it's a low priority on the current roadmap. Given that we have nothing at all here right now except the downloadable file on GitHub releases (no .msi installer, no Choco, etc), any contribution is a big step forward here. Here are a few links that might help make this happen:

Does this help? If you want, you can store the installer in this repo, in a new installer top-level directory. You can also maintain the installer as your own project if you prefer, then we'll link to it from our readme. Cheers!

kevgo commented 4 years ago

On the question of which installer prevails, I really hope you are right. Having a vivid, independent, and open developer ecosystem will be good for Windows as a platform. Satya Nadella seems to understand this. The problem is that installers aren't a particularly "defensible" products, meaning there is very little that "binds" people into using a particular type of installer when a competitor shows up. People use whatever installer makes it the easiest to get the apps they want onto their machines. Microsoft engineering is pretty capable, see VSCode, TypeScript, or RxJS as examples that are considered very well executed and see widespread success. Choco should expect stiff competition from winget with excellent user experience. This feels like the question which browser people use. The market can change dramatically within just a few years!

kevgo commented 8 months ago

Instructions for setting up an app on the Microsoft Store: https://learn.microsoft.com/en-us/windows/apps/publish/publish-your-app/overview?pivots=store-installer-msi-exe

kevgo commented 8 months ago

Current status: trying to sign up as a partner and reserve the app name. Microsoft's partner center goes into an infinite redirect loop and kicks me out. Will try again tomorrow.

kevgo commented 8 months ago

Ideally we publish to the Microsoft Store via goreleaser. An alternative could be the Microsoft Store Developer CLI or winget-create (usage examples).

kevgo commented 8 months ago

winget source code: https://github.com/microsoft/winget-cli

kevgo commented 8 months ago

Current status: Microsoft Partner Center say it doesn't work, the suggested work-arounds also don't work. My Gmail-based ID account doesn't seem to have the privileges necessary.