Winget CLI comes preinstalled on Windows now. It makes sense to distribute Git through the package manager now. While Git-for-Windows is available through Winget Package Manager, MinGit isn't.
So I was wondering if it's possible to distribute MinGit using Winget?
My guess, although I've no experience packaging software for Windows, is to package the MinGit binaries into a .msi installer. Releasing it along side the .zip files as its done now should be no difficult task then. After that, creating a manifest file for Winget should be easy.
With that said, is there a reason why Git-For-Windows is available via Winget but not MinGit? Or am I missing out on something?
is there a reason why Git-For-Windows is available via Winget but not MinGit?
From what I can tell this distribution channel is not affiliated with Git for Windows, but rather a third party redistributing Git for Windows without any input from us. So you should probably ask them why they only redistribute the 64bit installer.
Winget CLI comes preinstalled on Windows now. It makes sense to distribute Git through the package manager now.
The client is distributed within the App Installer package. While this package is pre-installed on Windows, the client will not be made generally available during the Preview period. In order to get automatic updates from the Microsoft Store that contain the client, one must do one of the following:
- Install a Windows 10 Insider build
- Join the Preview flight ring by signing up
Once you have received the updated App Installer you should be able to execute
winget. Some users have reported issues with the client not being on their PATH.
My understanding of the text you linked is that while the "App Installer" package is preinstalled on (non-insider) Windows 10 it doesn't come with the winget client. The winget client seems to be in more of a preview state.
to package the MinGit binaries into a .msi installer [...] along side the .zip files
I see no good reason to do that. MinGit should be a portable, non-interactive Git intended for third-party tools. As such it doesn't seem to be a great fit for a Windows Installer. A merge module, maybe. We also do not currently create any msi files in the entire release process of Git for Windows, so this would need to be created from the ground up and would add a maintenance burden I'd like to avoid.
Reading the Manifest specification for winget packages it seems like support for zip files is on the agenda for the full release of `winget. I'd rather wait for that feature to come around.
# InstallerType is a required field. Supported types are inno, wix, msi, nullsoft, zip, appx, msix and exe.
# The winget command tool uses this value to assist in installing this application.
# If the value is an exe, you will need to provide the quiet switches.
# zip is not supported in this preview (5/24/2020)
The winget roadmap puts .zip support in v0.16, scheduled for release in march 2021.
I see no good reason to do that. MinGit should be a portable, non-interactive Git intended for third-party tools. As such it doesn't seem to be a great fit for a Windows Installer. A merge module, maybe. We also do not currently create any msi files in the entire release process of Git for Windows, so this would need to be created from the ground up and would add a maintenance burden I'd like to avoid.
This answers my questions. Thanks for the great work.