Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Dark Goob

macrumors regular
Original poster
Jun 6, 2007
182
32
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.
 

psik

macrumors 6502
Aug 21, 2007
422
33
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.

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.
 

ctg7w6

macrumors 6502
Oct 23, 2014
496
895
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.

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???
 

bmac89

macrumors 65816
Aug 3, 2014
1,388
468
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.
 

fisherking

macrumors G4
Jul 16, 2010
11,252
5,563
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....
 

beebarb

macrumors 6502
Sep 10, 2015
288
258
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.

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.
 

aristobrat

macrumors G5
Oct 14, 2005
12,292
1,403
Edit: Crap, I started my reply before I saw beebarb's post, didn't mean to post pretty much the same points.
 
Last edited:

psik

macrumors 6502
Aug 21, 2007
422
33
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.
 

JohnDoe98

macrumors 68020
May 1, 2009
2,488
99
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....


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.
 

leman

macrumors Core
Oct 14, 2008
19,521
19,677
Why doesn't Apple implement something like "add/remove program", as Windows has?

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.

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.

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.
 

SlCKB0Y

macrumors 68040
Feb 25, 2012
3,431
557
Sydney, Australia
if a software you are installing comes as a pkg file, that should ring an alarm bell.

Why? with pkg files it is extremely easy to remove all the installed files. Pkg log every file they install.

Eg.

Code:
MacBook-Pro:~ user$ pkgutil --pkgs
com.apple.pkg.BaseSystemResources
com.apple.pkg.CoreADI
com.apple.pkg.CoreFP
com.apple.pkg.CoreLSKDConfigData.8
com.apple.pkg.CoreSuggestionsConfigData.14U2060
com.apple.pkg.CoreSuggestionsConfigData.14U2063
com.apple.pkg.Essentials
com.apple.pkg.GatekeeperConfigData.14U2064
com.apple.pkg.GatekeeperConfigData.14U2066
com.apple.pkg.iTunesAccess
com.apple.pkg.iTunesX
com.apple.pkg.MobileDevice
com.apple.pkg.MRT.14U2061
com.apple.pkg.OSX1011IncompatibleAppList
com.apple.pkg.update.os.10.11.1PublicBeta.15B17c
com.apple.pkg.X11redirect
com.apple.pkg.XProtectPlistConfigData.14U4029
com.apple.pkg.XProtectPlistConfigData.14U4030
com.apple.update.firmwareupdate
com.blacey.SuperDuper!
com.evernote.Evernote
com.loaysetrak.Converter
com.microsoft.rdc.mac
com.pixelmatorteam.pixelmator
com.treasurebox.gear
com.wunderkinder.wunderlistdesktop
cx.c3.theunarchiver
net.openvpn.connect
org.gpgtools.checkprivatekey.pkg
org.gpgtools.gpgkeychain.pkg
org.gpgtools.gpgpreferences.pkg
org.gpgtools.gpgservices.pkg
org.gpgtools.key
org.gpgtools.libmacgpg.xpc.pkg
org.gpgtools.libmacgpgB.pkg
org.gpgtools.macgpg2.pkg
org.gpgtools.pinentry-mac.pkg
org.macosforge.xquartz.pkg
wifiexplorer

Then to check the files of a given pkg:

Code:
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:
https://www.corecode.at/uninstallpkg/
 
Last edited:

leman

macrumors Core
Oct 14, 2008
19,521
19,677
Why? with pkg files it is extremely easy to remove all the installed files. Pkg log every file they install.

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

Code:
com.microsoft.package.Fonts
com.microsoft.package.Frameworks
com.microsoft.package.Microsoft_AutoUpdate.app
com.microsoft.package.Microsoft_Excel.app
com.microsoft.package.Microsoft_OneNote.app
com.microsoft.package.Microsoft_Outlook.app
com.microsoft.package.Microsoft_PowerPoint.app
com.microsoft.package.Microsoft_Word.app
com.microsoft.package.Proofing_Tools
com.microsoft.pkg.licensing
com.microsoft.pkg.licensing.volume

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

AtheistP3ace

macrumors 6502a
Sep 17, 2014
663
431
Philly
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.
 

JeffyTheQuik

macrumors 68020
Aug 27, 2014
2,468
2,407
Charleston, SC and Everett, WA
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.
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!
 

KALLT

macrumors 603
Sep 23, 2008
5,380
3,415
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.

iTrash cleans up all the crap an app leaves behind. It's a brilliant little utility.

appCleaner

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.

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!

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.

Why? with pkg files it is extremely easy to remove all the installed files. Pkg log every file they install.

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.
 
Last edited:

cynics

macrumors G4
Jan 8, 2012
11,959
2,156
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.

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.
 
  • Like
Reactions: AtheistP3ace

mariusignorello

Suspended
Jun 9, 2013
2,092
3,168
True, but for instance just installing Office, puts the following on my system

Code:
com.microsoft.package.Fonts
com.microsoft.package.Frameworks
com.microsoft.package.Microsoft_AutoUpdate.app
com.microsoft.package.Microsoft_Excel.app
com.microsoft.package.Microsoft_OneNote.app
com.microsoft.package.Microsoft_Outlook.app
com.microsoft.package.Microsoft_PowerPoint.app
com.microsoft.package.Microsoft_Word.app
com.microsoft.package.Proofing_Tools
com.microsoft.pkg.licensing
com.microsoft.pkg.licensing.volume

Uninstalling this is a mess. I'd really rather wish they would put most of these things into a single app bundle.
Ha. I love how they have to have their separate package for licensing. They can take their license keys and... never mind.
:D
 

Carlanga

macrumors 604
Nov 5, 2009
7,132
1,409
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.
 

leman

macrumors Core
Oct 14, 2008
19,521
19,677
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.

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.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.