Windows 7 no longer tries to guess application size and other information


Back in the old days, if an application did not provide information like its Estimated Size or Install Date, then the Add/Remove Programs control panel tried to guess the values by searching your hard drives for files and directories that bore a superficial resemblance to the application. (Note that I use the word drives in the plural. It actually searched all of your drives, because some applications may have been installed to secondary drives. I can imagine the bug report that led to this extended search. "I installed LitWare 2000 to my D: drive, and the Add/Remove Programs control panel shows no information for it. You should have found it on my D: drive, because (like many power users) I install all my applications to my D drive to maintain free space on my C drive.")

Time passed, and the name of the Add/Remove Programs control panel changed several times. It became Add or Remove Programs in Windows XP, changing the slash to the word or. In Windows Vista, its name changed to Programs and Features, but at least the name has been stable since then.

In Windows 7, the "search your hard drive looking for the application" fallback algorithm was removed. If an application did not provide information such as its estimated size or install location, then Windows now just says, "Well, tough on you." My guess is that the search was removed because the vast majority of applications now provide the information directly, so the extra cost of trying to hunt it down for the last few application was not worth the benefit.

There is still one tiny thing that Windows will guess: The installation date. But it doesn't have go hunting through your hard drive to guess that. It merely infers it from the last-modified date on the uninstall metadata itself!

Comments (34)
  1. This is really a welcome change: as has already been stated many times, the old algorithm was slow as hell and often provided wrong information; on slower machines it really made you think twice before opening the add/remove applications applet. Kudos to who said "enough with this nonsense". :)

    (preemptive xpclient/wndsks/… comment: the old behavior was better)

  2. alegr1 says:

    That was another case of Windows trying to be too smart and then stupidly falling on its face.

    Once upon a time I "wrote" InstallShield package to install my driver (by means of Difx) and a simple application. To show the list of programs, Windows would scan the whole ProgramFiles tree, because it took a while, and then showed about 2GB.

  3. Marc K says:

    The guesswork algorithm would have been fine if it were run in a separate thread.  On most XP systems, it takes ages to open Add or Remove Programs because the window doesn't become usable until all applications have been profiled.

    For anyone still on XP, Safarp is a wonderful alternative.

    [It wasn't run on another thread because you could sort by size, install date, etc. Also, the second time is supposed to be fast (the result is cached) but a variety of factors prevented the cache from working as effectively as it should have. -Raymond]
  4. @Matteo:

    You could always install CCleaner or any other software that would show you the Add/Remove list, sans waiting.  Which is a good idea, because you cannot uninstall some stuff without the Add/Remove panel.

  5. So that's why it takes so long on old machines with Windows XP. Thanks Raymond, you made my day.

  6. Rudolf Schreier says:

    Ah, the guesswork part explains why ~30% of my applications (mainly video games) under Windows XP showed a certain constant nonsense size (might have been 4.1GB?).

  7. Falcon says:

    As soon as I glanced at this article, I remembered this one from your TechNet Magazine column: technet.microsoft.com/…/gg558108.aspx

  8. Cesar says:

    > My guess is that the search was removed because the vast majority of applications now provide the information directly

    My guess to that would be that the reason most applications now provide the information directly is because they either use MSI or a installer generator which fills the ARP (Add/Remove Programs) information for them.

  9. xpclient says:

    The new behavior is better, anything that has guesswork to determine the size is unreliable/inaccurate. XP's Add/Remove sucked, even Windows 2000's was better because it didn't keep the entire HTA window blank in Win2k till the whole list was populated. The Vista/7 shell folder implementation of Add/Remove is the best. @Matteo Italia, keep your trolling to yourself. :)

  10. Nick says:

    My only beef with the new Programs and Features is that the list builds in a non-linear order.  That is, all of the "A" entries are not always inserted before any of the "B" entries.  This means that trying to use the dialog before it has finished populating is difficult at best and dangerous (click uninstall on the wrong item) at worst.

    The increased speed is wonderful, but it might have been prudent to disable interaction until it has finished populating.

  11. Pseudo-Anonymous says:

    This must be one of the few times xpclient isn't complaining that feature X is crippled in Windows V and 6+ or that MSomething is evil for removing some obscure feature or behavior from Windows e.

  12. Yuri says:

    > There is still one tiny thing that Windows will guess: The installation date. But it doesn't have go hunting through your hard drive to guess that. It merely infers it from the last-modified date on the uninstall metadata itself!

    If my installer doesn't provide installation date and I modify the uninstall metadata itsef can I make Windows report installation date in the future?

    Just asking cause' I have a mission critical use case relying on this behavior ;)

    [You're trying too hard. Just have your installer write a bogus InstallDate! -Raymond]
  13. Michael Kohne says:

    I have to ask: Why was it thought important to have the installed sizes in the add/remove programs window at all? Perhaps I'm an odd case, but I don't think I've ever looked at the application sizes – I remove stuff when I have some reason to remove it, I've never once wondered how bit it was on disk. And when I've got a disk space problem, I don't look for the biggest app to remove, I look for the stuff that I don't use (the Office suite is often the biggest app I have installed, but I'm sure as heck not gonna remove that!)

    Does anyone look at the sizes? Or was this one of those features that got in because it was cool, and just got carried along?

    [At the time this feature was designed, hard drives were typically only a few gigabytes, so disk space was something people always kept an eye on. Install date, size, and frequency of use were the pieces of information presented to help people decide which program to uninstall. -Raymond]
  14. Eric TF Bat says:

    Michael Kohne: I would guess that one use case for fiddling with Add/Remove Programs is when you're running out of disk space and want to find something to remove.  "Two programs, alike in dignity, in fair Verdana where we set our scene…"  The one that is larger would be the better one to remove, all else being equal.

    Of course, in these days of terabyte hard drives you can buy at the Post Office for less than the cost of a tank of petrol, nobody believes a word of it.

  15. Anonymuos says:

    @Pseudo-Anonymous I am objective in my complaining but it goes over the top of some people's heads who then conclude I'm just ranting for the sake of it. You don't want regressions to occur, right?

  16. ThomasX says:

    1. Don't forget the excuse why that feature was designed like that: Because a false information is better than none.

    2. As for "It wasn't run on another thread because you could sort by size, install date, etc". You could have shown a placeholder while the information was guessed.

    [And then you have the problem that Nick complained about: Once the information has been obtained, all the items move around in order to apply the sort. -Raymond]
  17. I'm a bit surprised. I have more than a hundred of applications installed at my good old notebook with WinXP. And I had a bit less than a hundred of applications installed at a brand new computer with Win7 at my previous workplace. As far as I remember, building the list of applications at work took nearly the same amount of time as at my notebook although the computer at work had much better overall performance.

    Any ideas on why was it that way? Stupid settings at work or lucky cache at the notebook?

  18. foo says:

    Perhaps this reason for your trusty old XP notebook v. fast Win7 desktop list-building performance similarity? -> "Also, the second time is supposed to be fast (the result is cached) but a variety of factors prevented the cache from working as effectively as it should have. -Raymond"

  19. foo says:

    Ah, and not to forget, from the linked article: "[July 15 2004: Emphasizing that this is done only if the program fails to provide the information itself. For some reason, a lot of people who link to this page fail to notice that little detail.]"

  20. Anon says:

    @Anonymuos –

    You don't want regression to occur. But you also want people to do things the correct way. If changing your code to enforce the proper method breaks someone else's horrible, shoddy, bug-ridden code, no one should care beyond trying to remember where they put the world's smallest violin.

  21. Steve D says:

    I suppose a compromise would have been to have had a "Profile Programs" button which would then go and hunt down the information, but I could see that it may not have been worth the effort now.

  22. Joker_vD says:

    [Once the information has been obtained, all the items move around in order to apply the sort.]

    Yes, that's always annoying — when I open a list of game lobbies in a certain game, it shows me a constantly updating list of lobbies. How many times did I clicked on the wrong lobby only because the things re-sorted and the rogue item sneak right unnder my cursor two milliseconds before I clicked? Many, many times.

    However, there is a workaround (a silly one, and it may fail easily): When the mouse is over you, freeze the order, append new items at the end. When the mouse is somewhere else, do live sorting.

    ["Bug: Programs list never sorts." If your primary input source is keyboard or touch, the mouse position is not something you pay attention to. And even if your primary input is mouse, you might hold the mouse over the window in anticipation of the thing you want. For example, you put the mouse at the top of the window, because you know that the thing you want will appear at the top of the list. -Raymond]
  23. Engywuck says:

    why have the installer set the install date? Sure, this is nothing security-critical, but I'd have assumed that when registering the uninstaller (and therefore adding the entry to the add/remove programs list) windows itself would have set the install date to this instant. Or are there use-cases where the uninstaller is re-registered at a later date?

    [That is exactly the fallback. Windows looks at the last time the uninstaller metadata was updated. But this gets faked out if the metadata is modified after installation. The registry has a "last modified" date but no "creation" date. -Raymond]
  24. ST says:

    @Joker_vd – The mouse over idea is nice, but how will it work with a touchscreen? Windows has supported those for a long time you know.

  25. Brian G. says:

    @Joker_vd, @ST

    A popular gaseous water platform has a live-sorting system that freezes the currently selected item in view, continuing to live-sort, but moving the list above and below the selected item. It doesn't solve the problem, but it helps when I can single-click select an item that's at least close to the one I want, the probability that something will sort between what I've selected and what I want to select drops substantially.

  26. Gabe says:

    Task Manager solves the live sorting problem by pausing the updates while you hold down Ctrl. It works well, but is undiscoverable, and has no analog for machines without Ctrl keys (like tablets and phones).

  27. Anonymuos says:

    You can also include Vista/7/8's 'Programs and Features' folder into Classic Shell's Start Menu (just create a Link to shell:ChangeRemoveProgramsFolder and make it show as multiple columns). Then you get quick access to uninstallers too (if you don't need to see the other extra details other than the name of the program).

  28. Klimax says:

    @voo: Because in Windows 95/98 you could install through it. (Likely helper for new users) It just carries name through ages…

  29. voo says:

    This is offtopic and was probably already answered by Raymond a decade ago.. I did my best google-fu [actually bing-fu; I'm in China and google doesn't like my VPN ;)) but couldn't find anything though..

    Something that has always bothered me: Why is it called "*Add* or Remove"? I've never installed anything in that dialog and I really don't see (in Win7) any option to do so

  30. @voo says:

    Possibly adding features to existing applications, but more likely "Turn Windows Features on or Off" (ie: to install MSMQ, or IIS, or Solitaire, or whatever Windows component).

  31. 640k says:

    Drawbacks with live sorting are the same as with explorer in general. Problems should ofcourse be solved in the same way to be consistent, whatever that is, a user should be able to understand it's behaviour, else explorer is also flawed. Come on, you have already solved this! Probably using the same COM listview in both cases anyway.

  32. Dave says:

    Installing the OS to C: and everything else to D: wasn't to save space but, at least back in the NT 4.0 days, to allow you to recover your data when Windows (or some third-party device driver, I'm lumping them all together here) trashed the boot block or C: partition or whatever.  You rewrote the boot block and partition table with a sector editor and reinstalled Windows (from fourteen floppys or whatever it was), and all your data was still there.  This was standard practice at our company well into the XP days.

  33. Horst Kiehl says:

    Klimax is still right (although "@voo" is too) about Windows 2000 and XP; the control panel applet "Add or Remove Programs" had "Add New Programs" on the left; if you selected this mode, the main area contained a pushbutton "CD or diskette" that would open a wizard. Since Windows Vista, the "Programs and Features" applet doesn't seem to have it anymore, but in the category view in "Programs" there's a link to some help "How to install a program".

    (Raymond, I posted this only because I already investigated it and noticed some confusion about this side issue. Please delete my comment if it's too Yuhong-Bao-like.)

  34. Marc K says:

    @Nick: I put a search string into Programs and Features while it is populating.  When the list filters down, I know it is done and there will be no missed clicks.

Comments are closed.

Skip to main content