I guess this is more of a feature request.
Currently when you uninstall an app via the platform, the contents of symbolic links to sub folders are also removed in stead of just the link.
In my case, for some apps (like visual studio code) I have a symbolic link to the data folder. Installing a new version of Visual studio code takes 2 steps:
- delete the old visual studio code folder via windows explorer (this only removes the link, not the contents)
- create a now symbolic link to the data folder
The other day, I accidentally uninstalled Visual Studio Code via the platform and to my surprise I lost the contents of the data folder as well. Luckily I had a backup. It would be great if the uninstall would just remove the symbolic links and not the contents. Or maybe give users a choice via a configuration setting.
I was working on updating the uninstall process to greatly improve performance anyway and have added a detection for symlink directories in the root of the portable app as it uninstalls. So, if you're uninstalling AppNamePortable and it says everything in there will be deleted, it will check for a symlink on directories like AppNamePortable\Data and AppNamePortable\whatever as it uninstalls. It will give you an error (correctly is up for debate) that it was unable to uninstall since the AppNamePortable directory will still exist, but it will also refresh the app list regardless and the app will disappear from the menu.
Sometimes, the impossible can become possible, if you're awesome!
Is it not possible to just remove the symlink during the uninstall (possibly warn the user that syminks were found and that the symlink targets have to be removed manually)? That to me , makes the most sense.
Adjusting symlinks requires admin rights.
Edit: I think I may have a way that will work safely. Will update.
Edit2: I can safely remove the symlink without affecting the target directory or contained files by using the basic RemoveDir command on it.
Sometimes, the impossible can become possible, if you're awesome!
Sounds like a good plan to me!