Hacker News new | ask | show | jobs
by rmunn 80 days ago
I mean, there clearly was an uninstall script. It was in the app's Contents/Resources file, and it was called CleanupMagician_Admin_Mac.sh. Which means there was some intended way to trigger running it. Perhaps Samsung's instructions or their menu system weren't clear and they managed to hide it from him. But there most definitely was an uninstall script, and if he had managed to find the intended button in the interface, it would have asked for admin permissions and then done all the cleanup for him. The very cleanup that he complained about having to do by hand.
1 comments

I think you are probably right. Although, with a name like that it could be some post-install cleanup of temporary files (which would explain why it was doing chown, rather than rm, although there are certainly other options!).
I wondered about the chown thing myself, but ended up concluding that the author was misremembering the errors. He probably saw some chown messages and didn't read all the hundreds of lines (I certainly don't read every line of hundreds of log lines, I skim looking for key words), meaning many of them could well have been rm failures that he misremembered as chown. But whatever it was doing, the author would have been wise to read it before deleting the directory it contained, as it would have saved him a lot of trouble finding all the bits and pieces he had to hunt down later.
The author is an unreliable narrator. The very first thing, the location of the script, can’t possibly be true (the app itself won’t be in per-user support data directory). They conflate things, they definitely don’t know enough about macOS to know to use sudo. I mean, they even rant about bog standard localization files…
Sadly, there are apps out there whose installers drop helper apps in ~/Library/Application Support. Or worse: Eve Online actually puts the whole game there. The Eve.app in /Applications (or wherever you choose to put it) is just the launcher/downloader.
Plus it would be nice to know if the script expected some environment variables or arguments, and what it did in their absence…