I decided to clear some hard drive space from my computer and uninstall a bunch of unneeded programs. I uninstalled some games that disappeared quite quickly even though they occupied between 5-12 gigs of space. But then I tried removing some much smaller programs around 3 gigs big and it took for freaking ever! So why? What is the fundamental reason that uninstalling windows programs ismso unbelievably slow? Why isn’t it just as fast as deleting some files?
Incompetence of programmers. I blame Microsoft for this. They have imposed a culture of letting programmers (see: idiots) determine how software will interface with people.
One reason why Apple products have been so successful is just what I said above: Apple has tried to make their hardware/software conform to an average human being’s expectations, that’s why their products are so successful.
The IBM/Microsoft world is still suffering from the curse of geek idiots.
Can you show your work, please?
I think the actual answer, as opposed to the Apple fanboy non-answer, is that uninstalling some programs involves removing or changing a lot of entries in the Windows registry, whereas others will require few if any changes to the registry.
The actual amount of disk space taken up by a program has very little relevance to the difficulty of uninstalling it. When a file is deleted, it does not get removed from the disk, all that happens is that its entry in the disk index (that tells the computer where on the disk it can be found) is removed (so the computer now thinks that space is empty, and can freely be written over again if needed in future). This is the same, very quick and easy, operation whether the file is just a few bytes long or many megabytes. (If the big file is fragmented it may take a little longer, but not very much.)
Software that is only a set of files doesn’t have to be uninstalled at all, you could just delete the files. But it shows up in the uninstall list because it’s integrated into the operating system in other ways. A minimal uninstall simply removes entries from the start menu and desktop icons. Other software may have created registry entries that need removing, services that need removing, and may have to remove entries from other software components such as the ODBC data sources. That doesn’t offer a good explanation why it takes so freaking long sometimes, but for why it’s more complicated than just deleting files.
Probably for 2 different reasons:
It depends on the number of files involved more than the sizes of the files. Directory operations are mostly-synchronous, which means that the system waits for them to complete before proceeding with the next deletion.
There are a number of widely-used installer programs. Most software uses one of perhaps 4 that are out there. Some of these are much slower than the others. That’s mostly due to making it easy for the person who configured the installer for the particular software being installed / uninstalled.
I think that I’m liking this answer, as the specific case in point rubbing me raw was the help files for UGS NX, which is a large amount of HTML files. But, why would a series of interlinked HTML files need to involve the registry at all? And are modern games such as Mass Effect, Mirror’s Edge, etc less than average number of files? Also, from a file system perspective I thought that every hard drive sector has a header that effectively identifies it as being full of stuff or empty… ? In that case would the average size of files have an impact on deleting them, and if so why is it not just a function of the number of sector headers that need modifying?
On regular hard drives, there is no need to erase the actual data in the files (unless you have some special security reason for doing so).
The directory, or “table of contents” area (which takes different names and forms depending on the filesystem used) lists which areas (usually contiguous groups of more than one sector) are available for use as opposed to containing data you want to keep.
Thus, deleting a file takes the same amount of time whether it is tiny or huge.
Solid state disk drives (SSDs) can’t write data on top of old data without an erase pass being done first. That’s due to the way individual memory cells work on those drives - in simplified form, they can only change a “1” to a “0” when they write - to reset a cell to “1” requires an erase pass which affects a group of cells.
Fortunately, there are methods in place which allow the SSD to normally do this work in the background (when the operating system doesn’t need to access the drive), so unless the drive runs out of pre-erased sectors there isn’t much of a slow-down.
All of the above is very simplified, but should serve to explain things.
As to why an application has many small files rather than one big one, that’s mostly a function of how the application is designed. Deleting all of the files isn’t something application designers normally think about much, so it doesn’t get a lot of attention compared to other performance issues (which may argue for lots of little files for some other reason).
The smaller/slower program may actually be doing a better job, removing all registry entries and junk, while the bigger program just deleted the program files.
Revo Uninstaller is highly regarded.
I quite agree with Aaron, Windows’ main difficulty is really deleting programs, and even the so called windows installers don’t always do a good job (even rarely). To get an idea, delete a program, then using regedit, do a search on the progam name, then the editors name, you will most often find tens of entries that are 1) still active (keyed), and 2) take up space in the registry, slowing down the system. (Don’t worry, a few desinstallation residues won’t make much difference, but over time…)
On top of that M$ based programs use “standard libraries” installing .dll files like mad, when you desinstall a program, there is generally no way of knowing if other programs use that particular batch of dlls, so it is left on your disc. Add services, file streams…
I do not know how Apple manages, for myself, as an old school user (going back to MS-DOS) I try to clean both the registry and file structures by hand, on a more or less regular basis. When it gets too messed up (it ALWAYS does) the only solution is a complete reinstall, preferably from a slipstreamed W$, and all the hassle that that entails (Generally about 20-30hrs for me). Even this will soon become impractical, disc size, and M$ politics of letting less and less acces to the (end) user into system functionality is starting to limit deep upkeep to privileged admin level, making you dependant on their tools, whether they function or not. It is true that uder those conditions, you can’t bunk you system either, so for the lambda user…?
To get back to the OP, better is the word, a few minutes are worth it
I believe is is “easier” to remove a application on the Mac because most ( all ? ) of the programs reside entirely in a folder and do not have any external links. When I remove an application, all I have to do is drag the folder to the Trash.
I am only a Mac user at home and not at all trained in the art of System Administration, but this is what seems to work for me.
I second this, it’s amazing what “revo” finds left over.