microsoft / microsoft/winget-cli
Add feature to download and run portable versions of apps
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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