Why doesn't Apple implement something like "add/remove program", as Windows has?

Discussion in 'OS X El Capitan (10.11)' started by Dark Goob, Sep 29, 2015.

  1. Dark Goob macrumors regular

    Dark Goob

    Jun 6, 2007
    Portland, OR
    Why doesn't Apple implement something like "add/remove program", as Windows has?

    I find it incredibly annoying that many programs install crap all over the drive, including hidden unix folders. Why can't the OS track this? I just don't understand.

    There should be an option to "hide non-third-party items" in the Finder so that you can easily see ONLY those items that are NOT a normal part of the system, including within the hidden Unix directories (if, like me, you're a developer and you end up installing stuff there too).

    I've requested this on Apple.com/feedback multiple times to no avail.

    I really miss the old days where the System Folder contained Extensions, Control Panels, and Startup Items—and that was literally the ONLY place that something could be that ate up your RAM or ran in the background. You could see a list of all 3rd-party things and the Extension Manager even let you deactivate a lot of the crap Apple puts into the OS that you might never use.

    I know a lot of Mac users who I'm sure would love to deactivate all "cloud"-related crap from their systems. It's pretty lame that Apple requires you to have that type of stuff on your computer whether or not you're using those features.
  2. psik macrumors 6502

    Aug 21, 2007
    Sorry and not to be rude to you but I hope they never ever do that - it introduces a useless step in the way - right now its much easier to drag app to the recycle bin which is the same thing as what windows uninstall does or if you are really concern of remnants code it right and use apps like app delete (by dragging them there) - but add/remove dedicated section is useless.
  3. ctg7w6 macrumors 6502

    Oct 23, 2014
    I used to feel the same way as you, that it was awesome that I could just drag things to the trash to uninstall. Then, like the OP, I found out that a bunch of "uninstalled" apps still had files hanging around my hard drive. You yourself admit that this is true, and then advocate installing a third party solution to fix the problem. So... How could it not be better for Apple to implement it themselves (assuming they don't screw it up somehow)? I just don't understand your logic.

    1) Apple's solution is simple.
    2) Apple's solution does not fully work.
    3) Apple should not create a solution that does fully work.
    4) Install third-party software to fix the problem.
    5) What???
  4. bmac89 macrumors 65816


    Aug 3, 2014
    I love the drag and drop to delete.

    Maybe when you empty the trash a message box could pop up to ask if you want to delete files associated to the app you have trashed (Yes/No), with the advanced option to view/manually delete some files. Although I doubt Apple would want to provide this option.

    Sometimes you may want to keep application support files or preferences.
    Personally I'm happy to just drag and drop or use third party app.
  5. fisherking macrumors 604


    Jul 16, 2010
    ny somewhere
    slippery slope. let's say you want to uninstall an adobe app...that shares resources with another adobe app you want to keep. or...the uninstall sees that you installed java with your app, but another app needs it as well. back in the days of smaller hard drives, perhaps more worthwhile, but in the bigger picture, think it's good as is. besides, many apps HAVE their own uninstaller....
  6. beebarb macrumors 6502


    Sep 10, 2015
    Because of the simple fact that the vast majority of apps on OS X don't use installers.

    All that Add/Remove programs on Windows does, is launch the app's uninstaller program (it's just a UI to make uninstalls easier). Even Windows doesn't actually track what gets installed.

    When an installer is done, it registers the app's name in Add/Remove programs, with the command to run the uninstaller.

    I don't think you're aware of this, but the majority of Windows uninstall programs, don't remove every trace of the app.

    They only really remove what the installer had installed.
    Just like trashing an app on OS X, running an uninstaller on Windows leaves a lot of cruft, like preferences, caches, orphaned registry entries, and runtime libraries.
  7. aristobrat, Sep 29, 2015
    Last edited: Sep 29, 2015

    aristobrat macrumors G5

    Oct 14, 2005
    Edit: Crap, I started my reply before I saw beebarb's post, didn't mean to post pretty much the same points.
  8. psik macrumors 6502

    Aug 21, 2007
    I think the problem is so minor enough to be solved with a third app party in this case, a change around is not needed in mac's OS.

    And as others say windows uninstaller does nto actually remove all the files it leaves so much orphaned crap in the hard drive - so even for windows a third party app is needed, but for windows the uninsall process is even less efficient than m,ac's drag and drop to delete - i have yet to see an effectieve soln for this in windwos as CCleaner and such dont really do the job. Anyways while there is some problem here at least I don't think your solution is effective and will solve it.
  9. JohnDoe98 macrumors 68020

    May 1, 2009

    This is a non-issue. Let's say Apple did track which extra files were installed by all third-party apps outside of the application itself. When you go to delete that app, all that needs to be done is a simple check. If the file is associated with more than one app, leave it there and remove the app's association with those files. If those files are not associated with more than one app they can safely be deleted. Problem solved.

    I actually think this is a good idea. People are always worried about "clean installs", but if you simply delete all third-party apps you'd effectively have a clean install.
  10. leman macrumors G3

    Oct 14, 2008
    Because it is not necessary given how apps are installed in OS X. I agree though that the OS should detect the case when you delete an app and offer you to remove its support folders as well. But nothing more beyond that.

    Because its not so simple. And besides, you should request the devs of the apps you are using not use crappy coding practices and not create hidden unix folders. Adobe and Microsoft are particularly awful in that regards. Apple manages to pack an entire server infrastructure in a single app bundle, without needing to resort to any auxiliary directories. Adobe and Microsoft love to leave their crap everywhere in the system. This is not the fault of the OS but that of a developer. In fact, if a software you are installing comes as a pkg file, that should ring an alarm bell.
  11. SlCKB0Y, Sep 29, 2015
    Last edited: Sep 29, 2015

    SlCKB0Y macrumors 68040


    Feb 25, 2012
    Sydney, Australia
    Why? with pkg files it is extremely easy to remove all the installed files. Pkg log every file they install.


    MacBook-Pro:~ user$ pkgutil --pkgs
    Then to check the files of a given pkg:

    MacBook-Pro:~ user$ pkgutil --files com.microsoft.rdc.mac
    Microsoft Remote Desktop.app
    Microsoft Remote Desktop.app/Contents
    Microsoft Remote Desktop.app/Contents/Frameworks
    Microsoft Remote Desktop.app/Contents/Frameworks/ADALiOS.framework
    Microsoft Remote Desktop.app/Contents/Frameworks/ADALiOS.framework/ADALiOS
    Microsoft Remote Desktop.app/Contents/Frameworks/ADALiOS.framework/Resources
    Microsoft Remote Desktop.app/Contents/Frameworks/ADALiOS.framework/Versions
    Microsoft Remote Desktop.app/Contents/Frameworks/ADALiOS.framework/Versions/A
    Microsoft Remote Desktop.app/Contents/Frameworks/ADALiOS.framework/Versions/A/ADALiOS
    Microsoft Remote Desktop.app/Contents/Frameworks/ADALiOS.framework/Versions/A/Resources
    Microsoft Remote Desktop.app/Contents/Frameworks/ADALiOS.framework/Versions/A/Resources/Info.plist
    Microsoft Remote Desktop.app/Contents/Frameworks/ADALiOS.framework/Versions/A/Resources/en.lproj
    Microsoft Remote Desktop.app/Contents/Frameworks/ADALiOS.framework/Versions/A/Resources/en.lproj/InfoPlist.strings
    Microsoft Remote Desktop.app/Contents/Frameworks/ADALiOS.framework/Versions/A/_CodeSignature
    Microsoft Remote Desktop.app/Contents/Frameworks/ADALiOS.framework/Versions/A/_CodeSignature/CodeResources
    Microsoft Remote Desktop.app/Contents/Frameworks/ADALiOS.framework/Versions/Current
    Microsoft Remote Desktop.app/Contents/Frameworks/libQtCore.4.8.4.dylib
    Microsoft Remote Desktop.app/Contents/Frameworks/libQtCore.4.8.dylib
    Microsoft Remote Desktop.app/Contents/Frameworks/libQtCore.4.dylib
    Microsoft Remote Desktop.app/Contents/Frameworks/libQtCore.dylib
    Microsoft Remote Desktop.app/Contents/Frameworks/libQtGui.4.8.4.dylib
    Microsoft Remote Desktop.app/Contents/Frameworks/libQtGui.4.8.dylib
    Microsoft Remote Desktop.app/Contents/Frameworks/libQtGui.4.dylib
    Microsoft Remote Desktop.app/Contents/Frameworks/libQtGui.dylib
    Microsoft Remote Desktop.app/Contents/Frameworks/libQtNetwork.4.8.4.dylib
    Microsoft Remote Desktop.app/Contents/Frameworks/libQtNetwork.4.8.dylib
    Microsoft Remote Desktop.app/Contents/Frameworks/libQtNetwork.4.dylib
    Microsoft Remote Desktop.app/Contents/Frameworks/libQtNetwork.dylib
    Microsoft Remote Desktop.app/Contents/Frameworks/libQtXml.4.8.4.dylib
    Microsoft Remote Desktop.app/Contents/Frameworks/libQtXml.4.8.dylib
    Microsoft Remote Desktop.app/Contents/Frameworks/libQtXml.4.dylib
    Microsoft Remote Desktop.app/Contents/Frameworks/libQtXml.dylib
    Microsoft Remote Desktop.app/Contents/Frameworks/libcrypto.1.0.0.dylib
    Microsoft Remote Desktop.app/Contents/Frameworks/libssl.1.0.0.dylib
    Microsoft Remote Desktop.app/Contents/Info.plist
    Microsoft Remote Desktop.app/Contents/MacOS
    Microsoft Remote Desktop.app/Contents/MacOS/Microsoft Remote Desktop
    Microsoft Remote Desktop.app/Contents/PkgInfo
    Microsoft Remote Desktop.app/Contents/PlugIns
    Microsoft Remote Desktop.app/Contents/PlugIns/accessible
    Microsoft Remote Desktop.app/Contents/PlugIns/accessible/libqtaccessiblewidgets.dylib
    Microsoft Remote Desktop.app/Contents/PlugIns/imageformats
    Microsoft Remote Desktop.app/Contents/PlugIns/imageformats/libqgif.dylib
    Microsoft Remote Desktop.app/Contents/PlugIns/imageformats/libqico.dylib
    Microsoft Remote Desktop.app/Contents/PlugIns/imageformats/libqtga.dylib
    Microsoft Remote Desktop.app/Contents/Resources
    Microsoft Remote Desktop.app/Contents/Resources/change-dock.sh
    Microsoft Remote Desktop.app/Contents/Resources/dock-remove.sh
    Microsoft Remote Desktop.app/Contents/Resources/empty.lproj
    Microsoft Remote Desktop.app/Contents/Resources/postinstall.sh
    Microsoft Remote Desktop.app/Contents/Resources/qmote-512x512.icns
    Microsoft Remote Desktop.app/Contents/Resources/qt.conf
    Microsoft Remote Desktop.app/Contents/Resources/qt_menu.nib
    Microsoft Remote Desktop.app/Contents/Resources/qt_menu.nib/classes.nib
    Microsoft Remote Desktop.app/Contents/Resources/qt_menu.nib/info.nib
    Microsoft Remote Desktop.app/Contents/Resources/qt_menu.nib/keyedobjects.nib
    Microsoft Remote Desktop.app/Contents/_CodeSignature
    Microsoft Remote Desktop.app/Contents/_CodeSignature/CodeResources
    And if you can't bothered scripting there is always Uninstallpkg:
  12. leman macrumors G3

    Oct 14, 2008
    True, but for instance just installing Office, puts the following on my system

    Uninstalling this is a mess. I'd really rather wish they would put most of these things into a single app bundle.
  13. Ritsuka macrumors 6502a

    Sep 3, 2006
    If an app needs an installer it means they blew it.
  14. AtheistP3ace macrumors 6502a


    Sep 17, 2014
    Wow. After reading all the responses here I am not sure which side I land on now. Many valid points. It is annoying when you want to completely get rid of something tracking down all the hidden stuff.
  15. JeffyTheQuik macrumors 68020


    Aug 27, 2014
    Charleston, SC and Everett, WA
    The bad thing is that after 7 years, those barnacles built up on the MacOS ship impede the speed of the boat. It took a hard drive failure on my 2008 iMac to just pull the trigger and do a fresh install.

    It's like a new 7 year old computer!
  16. Steve121178 macrumors 601


    Apr 13, 2010
    Bedfordshire, UK
    iTrash cleans up all the crap an app leaves behind. It's a brilliant little utility.
  17. junkw macrumors regular

    Jun 25, 2010
  18. KALLT, Sep 30, 2015
    Last edited: Sep 30, 2015

    KALLT macrumors 601

    Sep 23, 2008
    I always wondered why this is not feasible. Theoretically it should be possible to log all the files and folders an application creates in the libraries and remove those when the user wants to delete the application. Apple already uses a similar technology in Spotlight and Time Machine, so it wouldn’t put a burden upon the system. Provided the user is informed of this (maybe a panel that lets the user decide whether to remove preferences as well), I can’t see why it would not work. It should be trivial to verify whether folders and files are used by several apps. Caches and logs are not typically a problem, but application support files, preferences and containers can be.

    Not even Linux does this with their glorious package managers, so I assume that there is a technological reason for this.

    The problem with this kind of apps is that they are (1) fallible and (2) unsophisticated. All they do is search for keywords related to the app you want to remove. Sometimes they find everything that way, sometimes they miss things, sometimes they even mark files that should not be deleted.

    Maybe that’s because of your hard drive. ;-) Residual files of deleted apps don’t do anything. They will only slow your system if you’re constantly running out of space. They’re like old documents, they are just there, but not accessed.

    But they likewise don’t record what the installed applications create afterwards. Removing an entire package is equivalent to dragging an .app to trash. The only benefit of these installers is that they can install components in multiple locations at once, including locations that are off limits without root access.
  19. cynics macrumors G4

    Jan 8, 2012
    I agree with you. I like the idea of dragging the app to the trash can and being done with it. However I'm annoyed when I find files related to what I "removed" months later while looking for something else.
  20. Badrottie Suspended


    May 8, 2011
    Los Angeles
    I trust Zapper small app that can uninstall any apps and their association. Real easy and simple.
  21. dmrowley macrumors 6502


    Aug 4, 2010
    Dortches, NC
  22. AtheistP3ace macrumors 6502a


    Sep 17, 2014
    Thanks for suggestions. I'll look into those apps!
  23. mariusignorello macrumors 68000

    Jun 9, 2013
    Ha. I love how they have to have their separate package for licensing. They can take their license keys and... never mind.
  24. Carlanga macrumors 604


    Nov 5, 2009
    Many apps nowadays that work this way have an uninstaller; there are still some that are uhh that I still use CleanMyMac for them.

    Apple doesn't care about this because you are supposed to only use their app store so you can just X an app and be done. AFAIK app store apps are sandboxed so nothing gets away, IDK 100% since I don't use them.
  25. leman macrumors G3

    Oct 14, 2008
    As I mentioned earlier, Apple gives you enough tools to do almost anything you want from an app bundle. You can even install system tools from within the bundle (using privileged helpers). It doesn't need to be on the app store (and yeah, they are sandboxed). Prime examples of this are Xcode and Server apps, which include their own root directories and place entire development/server infrastructure within them. So yeah, they don't care, because they offer enough tools to make this unnecessary. If only the developers would follow up.

Share This Page

28 September 29, 2015