Skip to content

Support installing .zip files #140

Closed

Description

I want to be able to have winget install apps inside of .zip files.

Related to:

Proposed technical implementation details (optional)

Activity

  1. added this to the milestone on May 14, 2020
  2. markrussinovich commented on May 14, 2020

    @markrussinovich

    This would enable Winget to support all the Sysinternals tools.

  3. aclinick-zz commented on May 14, 2020

    @aclinick-zz
    Contributor

    What would we want to happen here? specify in the yaml where we want the folder to be unzipped to? Or ask the user where to unzip to?

  4. denelon commented on May 16, 2020

    @denelon
    CollaboratorAuthor
  5. bitcrazed commented on May 18, 2020

    @bitcrazed

    Andrew Clinick (@aclinick) - Installing ZIP files could also help support the very long tail of stand-alone and other common tools & utilities, esp. command-line tools like curl, and others that are distributed via ZIP.

    Have reached-out to curl re. signing their tools and building an MSI/MSIX.

  6. utybo commented on May 19, 2020

    @utybo

    This would be great! Gradle has always required a package manager on Windows (I'm currently using it with Scoop) and having it on winget would be fantastic, but it's a .zip file.

    Also, wouldn't zip files (and standalone .exe apps) require some more complicated setup steps that would have to be described in winget's YAML file? e.g. adding things to PATH, creating a desktop link, creating a Start menu entry etc.

  7. zuozishi commented on May 20, 2020

    @zuozishi

    This would be great! Gradle has always required a package manager on Windows (I'm currently using it with Scoop) and having it on winget would be fantastic, but it's a .zip file.

    Also, wouldn't zip files (and standalone .exe apps) require some more complicated setup steps that would have to be described in winget's YAML file? e.g. adding things to PATH, creating a desktop link, creating a Start menu entry etc.

    And environment variable.

  8. DennisGaida commented on May 20, 2020

    @DennisGaida

    I think there should be a default Apps folder maybe within the %USERPROFILE%. Unzipped zips should be per default copied there maybe within a subfolder. The same may also happen for PowerShell Scripts (PS1) and EXEs. An additional parameter may choose another folder where the package is copied to.

  9. pedrolamas commented on May 20, 2020

    @pedrolamas

    I was about to create a manifest for Paint.net when I noticed that .zip is not supported... yet! 🙂

  10. pashagolub commented on May 21, 2020

    @pashagolub

    A lot of .msi installers are packed into .zip files because you cannot execute .msi downloaded from internet. ;-)

    I wanted to add PostgreSQL support, but lack of zip extraction is a problem here.

  11. maxandersen commented on May 21, 2020

    @maxandersen

    related to microsoft/winget-pkgs#580

    Right now Winget can't be used to package/install anything without complex installers.

  12. chausner commented on May 21, 2020

    @chausner
    Contributor

    I think there are actually two issues or requests related to ZIP:

    1. Support software that is provided as ZIP archives for plain xcopy deployment
    2. Support installers (MSI, EXE, etc.) that are made available for download in a ZIP file (e.g. https://mh-nexus.de/de/downloads.php?product=HxD20)
  13. timsneath commented on May 21, 2020

    @timsneath

    Andrew Clinick (@aclinick), ideally it would be a) unzip a ZIP file; b) (optionally) run a batch file script to perform some configuration. Would be reasonable if there's also an uninstall script that reverses the latter.

    We'd use this for installing Dart and Flutter on Windows.

  14. marypcbuk commented on May 21, 2020

    @marypcbuk

    I'd suggest ZIP support with a parameter to install to either Program Files or a specified location given in the command

  15. 152 remaining items

  16. kris3713 commented on Jul 20, 2022

    @kris3713

    I would also like some data points like Thomas Lee (@doctordns) asked. I don't know how many packages use algorithms that wouldn't be supported. That would be a factor in determining the value and relative priority of looking to support other formats.

    So, when winget eventually supports .zip archives in the future. Other archive formats will also be supported, depending on their relative value and priority.

    That's good to hear, I hope you winget devs are blessed with luck in overcoming the difficulties that this feature development might bring.

  17. beedell-roke commented on Jul 21, 2022

    @beedell-roke

    @KrisSchneider and Richard Simpson (@RichiCoder1), support for 7zip should be unnecessary, because "http://github.com/PowerShell/Microsoft.PowerShell.Archive/issues/22" already requests support for the relevant format[s], and addition of the necessary functionality, when "http://github.com/dotnet/runtime/issues/65951" has been completed, should be consequently easy.

  18. doctordns commented on Jul 21, 2022

    @doctordns

    @KrisSchneider you got it right. Taking a dependency on a third-party product represents a long-term maintenance and distribution commitment. It would require a lot of validation of their code, plus it bloats the installation package and makes the overall code more complex than might otherwise be the case. It is not quick, easy, or cheap. In my experience, it is not something any MSFT team takes on lightly. That is not to say that the team should NOT do 7zip. But only if there is demonstrable customers need.

    To justify a serious consideration, the team would need evidence. Just how many packages are there that Winget (with Zip support) could not handle but would be ok IF there was 7zip support? My feeling today is that the number would be very, very low. But I could be wrong.

    Absent such evidence, I think this issue could be resolved as Will Not Fix. But with the general understanding that when the evidence IS produced, the team can re-examine based on demonstrated customer needs.

    At the same time, I would hope that the team layers ZIP support in such a way as to make it straightforward to add 7zip support without major work to Winget. I have always been impressed with the elegance that many MSFT products had with layering (eg, network stack mini drivers, etc.).

  19. RichiCoder1 commented on Jul 21, 2022

    @RichiCoder1

    @KrisSchneider and Richard Simpson (@RichiCoder1), support for 7zip should be unnecessary, because "http://github.com/PowerShell/Microsoft.PowerShell.Archive/issues/22" already requests support for the relevant format[s], and addition of the necessary functionality, when "http://github.com/dotnet/runtime/issues/65951" has been completed, should be consequently easy.

    WinGet does not use, nor have a dependency on either .NET or PowerShell Core.

    Absent such evidence, I think this issue could be resolved as Will Not Fix. But with the general understanding that when the evidence IS produced, the team can re-examine based on demonstrated customer needs.

    (Worth noting this ticket is about the .zip support that's currently in progress, and 7zip has no relation but is a feature ask in addition to base .zip support).

  20. reyqn commented on Jul 21, 2022

    @reyqn

    Maybe I'm wrong, but there has been lots of pings for lots of people subscribed to this issue, even though kind of everything was already talked about in this issue, and the specs for zip install (and particularly extraction) were already drafted here.

    I get that people want to participate, but please be wary that lots of other people receive notifications at every comment on those kind of long awaited issues. To those I say sorry for the ping.

  21. IanDarwin commented on Jul 25, 2022

    @IanDarwin

    +1 for adding the ability to execute a .ps1 or .bat script after extracting a ZIP file. Ideally, this should be a file that may not be included in the original package. This should allow us to work with most types of packages distributed as ZIP files.

    -1 for running semi-arbitrary scripts during a privileged install. Security? What was that?

  22. Masamune3210 commented on Jul 25, 2022

    @Masamune3210

    If it was being included with the manifest I would assume some validation of actions the script performed would be in place or at least in planning

  23. Masamune3210 commented on Jul 25, 2022

    @Masamune3210

    There is already a VM used to validate that the install is performed correctly, so it's probably not super outlandish to extend that to validating scripts as well

  24. ghost added
    In-PRIssue related to a PR
    on Sep 6, 2022
  25. ghost removed
    In-PRIssue related to a PR
    on Sep 27, 2022
  26. beedell-roke commented on Jan 22, 2023

    @beedell-roke
  27. rollingmoai commented on Feb 1, 2023

    @rollingmoai

    Winget has to support other archive formats as well and not just .zip. See #2899

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Issue-FeatureThis is a feature request for the Windows Package Manager client.

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions