Two questions: portability and post-uninstall cleanup #5389
Replies: 7 comments 9 replies
-
I'm no authority on Scoop, but here's my take: Scoop prefers portable applications as they're easier to install, update, remove and manage. But pretty much anything goes. I do agree that we could use some cleaning up and focusing of the buckets. I think the main reason for those missed cases is that it's difficult to investigate and keep track of all the potential ways an application may integrate with the OS. If Winmerge is leaving registry entries behind, open an issue about it in the extras repository. Scoop can specify uninstaller scripts; though because its data is technically persistent user configuration if I understand you correctly, it should only be removed upon |
Beta Was this translation helpful? Give feedback.
-
You're right, this should be taken into account. (WinMerge uses
That is certainly true: I make all the software I use portable (where possible and mostly without virtualization), and it is sometimes a pain. The main issue I've got with Scoop is however that it's not clear on the surface that it doesn't try to do this by default, even though it seems that "portable" is used repeatedly in the Scoop documentation. |
Beta Was this translation helpful? Give feedback.
-
@lukesampson Any thoughts on this? 🙂 |
Beta Was this translation helpful? Give feedback.
-
@rashil2000 You've closed an issue that has never been addressed or even replied to by the devs. |
Beta Was this translation helpful? Give feedback.
-
so, scoop uses junctions for its persists? i thought it was using symlinks lol. i didn't (& still don't) quite know what a junction is... or how does it differ from symlink. tried looking up on net, it spun my head. my initial impression were that a junction is like a reverse symlink. that is, u'd create a junction at anyhow, while i agree with the premise of problem, # App
$env:USERPROFILE/.config/lsd/config.yaml
# Shell
$PROFILE/../profile.ps1
$env:USERPROFILE/Documents/WindowsPowerShell/profile.ps1 # <- Above one expands to this
# Terminal
$env:APPDATA/alacritty/alacritty.toml
$env:APPDATA/terminalpp/settings.json
# Editor
$env:LOCALAPPDATA/nvim/init.lua
# Tiling WIndow Manager
$env:USERPROFILE/komorebi.json
$env:USERPROFILE/.config/whkdrc but i don't think the proposed one is a good solution:
umh, but if it is strictly limited to deletion of only junction/symlinks, which are hard-coded (no wildcard/regex expansion in any case when executed under normal privilege) then the risk can become almost non-existent. the solution or some important context was shared by the author here:
Originally posted by @ ltguillaume in ScoopInstaller/Extras#12271 (reply in thread) |
Beta Was this translation helpful? Give feedback.
-
i dont think its a problem with scoop. its a problem with windows apps and also on way things are done on windows... scoop just simply didnt address this problem yet, which is like ohkay... like what it did is pretty good on its own as well. ask me who, for more than a year, was manually doing all things it does automatically:
|
Beta Was this translation helpful? Give feedback.
-
but i agree the marketting and branding could have avoided tooting portability. do u have any particular tangible places in mind where the scoop markets itself as "portable"?
i agree with both these. and my stance [in discussion regarding gimp cli] was a bit conflated and hence wrong (but i am glad i didnt push it too strongly lol) here's just a recent example of an app's instructions for portability: https://learn.microsoft.com/en-us/windows/terminal/distributions#windows-terminal-portable |
Beta Was this translation helpful? Give feedback.
-
TLDR; Scoop's use of the term "portable" isn't portable at all, but is it meant to be? (Local)AppData folders could be junctions to the Scoop app's persistent dir. Registry keys are trickier. When uninstalling with
--purge
, (Local)AppData and registry traces could be removed.I'm just starting to get familiar with Scoop and from what I've seen so far, it's pretty much exactly what I'd like to start using for systems for other people (family and friends) to keep everything up-to-date and easy to manage. It certainly beats Chocolatey on the account of transparency, folder structure and package management.
Two questions do pop up, however, and searching the Wiki and the issues did not get me answers:
Portability
What are the actual goals concerning portability? Scoop uses the term "portable" and even has a separate bucket for "non-portable" apps. As far as I can see, though, it's got nothing to do with portability, but rather with the matter of admin requirements. The term "portable" requires an app to be able to be pulled from its folder and put into another (onto another system) while its configuration is preserved (https://en.wikipedia.org/wiki/Portable_application). This is not the case with many of the apps in the main and extras bucket, as it is only the fact for those apps that are already inherently portable. There's a nice feature for persistent files, but (Local)AppData folders and registry keys seem to be completely ignored. For example, I have not (yet) seen junctions set up from AppData folders to the app's
persist_dir
in order to keep it actually contained. As for registry keys, e.g. WinMerge uses a single registry key for its settings, but Scoop totally ignores this fact, even when uninstalling the app.Traces after uninstalling
This is directly connected to the portability issue. Basically, none of the package jsons I've seen handle any of the traces the apps leave on the system when uninstalling. As such, registry keys, (Local)AppData folders etc. etc. are just left there. Cleaning up after itself may not be part of the hard definition of being a "portable app" (for some people at least), but it most definitely is for "uninstalling". In my opinion this makes Scoop worse than just using an application's native installer and uninstaller. What's the general stance about this for Scoop then?
If this is all by design, then it's rather confusing for the end user: some of it is portable, some of it isn't - even though it doesn't come from the non-portable bucket - and thus all settings will be gone if you don't back up the appropriote folders and registry keys yourself.
Currently, at the very least, I'd say the use of the term "portable" is uncalled for in any case related to Scoop.
Beta Was this translation helpful? Give feedback.
All reactions