microsoft / microsoft/winget-cli

Add feature to download and run portable versions of apps

Open
#1,224 3 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Issue-Feature Portable
Dominant language
C++
Stars
26.4k
Forks
1.8k
Avg merge
1d 11h
Merged PRs (30d)
15

Description

Description of the new feature/enhancement

Often times, one needs to run some specific tool only temporarily (e.g. very recently I needed to flash an ISO file to a USB thumb drive via https://rufus.ie/). Whenever this is the case, I tend to avoid installing and uninstalling software but instead grab a portable version. https://portableapps.com/ have a large catalog of portable versions of software but their packages are somewhat cumbersome to use when you just want to quickly download and run an app. The packages you download from portableapps.com are similar to an installer where you first have to extract the contents into a directory before you can run it. Once you don't need the app anymore, you have to delete the folder manually.

It would be cool if winget could streamline this process. E.g. suppose there are portable variants of apps in the winget catalog, and there is a winget run X command which

  • downloads the portable variant of software X (could either be a ZIP file for software that is offered as a portable variant, or a PortableApps.com installer for other software that is normally not portable)
  • extracts the contents to a temporary folder (in case the app has been wrapped by PortableApps.com, their installer could be invoked silently to extract the files. For apps that have a native portable variant, the zip file has to be extracted)
  • runs the app from within the folder and waits until the user closes it
  • deletes the temporary folder

So in my case, I could have typed winget run Rufus, wait until the application pops up, prepare my USB thumb drive, close the application, and be done.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the existing winget CLI command structure and catalog/package handling; the issue does not name specific files or tests. Done means a winget run X flow can obtain a portable app, extract it to a temporary folder, wait for the app to close, and remove that folder.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli, operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.