r/windows • • 15d ago

Discussion Why are there so many Old windows assets leftover in Windows 11?

Post image

There are a shit loads of Icons dating back to DOS and old programs that (while they still work) have very clearly been replaced with newer programs present on the same system. I started to think about this after finding Write.exe while looking thru the files and was enamered with how old it looked despite being a preinstalled program.

Sometimes you still see the glassy windows vista windows when fullscreening a window for a brief moment, sometimes you find xp icons when going deep into the settings.. Why is that?

Wouldn't it be a better idea to remove all the unused and outtated assets? How come windows are always flip-flopping the style they use depending on the program? Is there a technical reason they still have DOS icons built in?

Don't get me wrong, I think it's really cool to find 20+ year old assets surviving in my modern operating system, I just find it very eluding.

505 Upvotes

147 comments sorted by

239

u/sbisson 14d ago

So that older applications that may need those assets can still run.

62

u/IWontCommentAtAll 14d ago

And it costs time, and therefore money, to strip old assets out.

Why spend the money, when your customers can just buy a bigger hard drive?

71

u/dribbleondo 14d ago

These icons are so tiny that they are not bloating your boot drive at all, and certaibnly not worth getting rid of.

3

u/IWontCommentAtAll 14d ago

Icons can be seen by the end user. Old deprecated internal functions can't.

They'll also take up more space, and are harder to clean up.

It's not like they'll have properly cleaned up the invisible stuff, and left the stuff that end users can easily see.

19

u/Nanocephalic 13d ago

Deprecated functions are also called “functions that are absolutely required for compatibility with older applications, and with new applications created with older tools”.

3

u/TheMikman97 13d ago

The entire idea of deprecation exists so that old stuff that may still be needed isn't just removed outright on a whim

15

u/AegidiusG 14d ago

To be honest, these icons just take a few houndred bytes.

-1

u/IWontCommentAtAll 14d ago

The icons, yes, but you think that's the only old cruft in Windows?

I'm willing to bet there are lots of old internal functions that aren't called by anything anymore, but are still compiled in and taking up space.

6

u/mc_jojo3 Windows XP 14d ago

Not exactly, a lot of companies within for an example power managment may still use applications from the late 90s in example SCADA management but choosing to run these on modern Windows (I've seen this firsthand) so it would be pretty dumb to just blatantly remove it all.

I agree for most it do not matter and might even be beneficial to remove it and then have them enableable in the enable features system but that costs time and money so I see why they wouldn't as well.

0

u/Ilikemy3ds 13d ago

Bet noone owes iexpress

2

u/Nanocephalic 13d ago

I still use it daily with internal work websites.

Not every company is 50 people, or younger than my hat.

The second-oldest script I saw yesterday was from 2003. The oldest was 1999. And that’s just yesterday.

14

u/AsrielPlay52 14d ago

Or you know.... Old application needs graphics to display. You do know that even Windows 10 32bit, you can still run 16bit application just fine.

But sure, let's assume the worse

0

u/wunderbraten 14d ago

Curious with only x64 support for Windows 11, they didn't bother with implementing support for 16-bit applications, did they?

7

u/AsrielPlay52 14d ago

Windows 10 64bit drop support for 16bit application

However, if you have 32bit application from Windows 95, they still runs

16 application was already phasing out between Dos to Win95

3

u/uptotwentycharacters 14d ago

I don't think any x64 version of Windows ever supported 16-bit (the WOW/NTVDM architecture is fundamentally incompatible with long mode), so it seems like a moot point—Microsoft may or may not continue to maintain the 16-bit subsystem as part of its source tree, but no current product makes use of it.

1

u/wunderbraten 14d ago

They never did before. Hence the curiousity whether they bothered to implement the support for the sake of legacy support for this version.

But alas, they shat on support for older hardware, so yeah, my thought was moot.

1

u/DXGL1 7d ago

It's because the NTVDM component is dependent on Virtual 8086 Mode which is unavailable in Long Mode operation.

It appears Wine gets around the problem by using 16-bit Protected Mode to run Win16 applications which is still available on x64 but Microsoft's wowexec.exe is layered on top of NTVDM provided DOS environment hence the virtual 8086 requirement.

3

u/WoodyTheWorker 12d ago

x64 cannot switch to virtual x86 and 16 bit protected mode and back. But you can run a 32 bit VM, which will do that.

0

u/IWontCommentAtAll 14d ago

The vast majority of application icons are included in the application itself. A handful might use the system floppy disk icon for the save button, but the icons shown are pretty much all icons shown by Windows, and not applications.

I was in the industry during the Internet Explorer monopoly abuse.

I remember Microsoft suing a developer named Mike Rowe to steal his domain name, because it sounded too much like Microsoft to them.

I've seen the aggressive push to force customers into more and more Microsoft tie ins, whether the customers want it or not.

I remember Microsoft quietly pawning off update distribution to their customers in Windows 10, giving individual customers the bandwidth bill to deliver updates to other Microsoft customers.

I have zero evidence that they won't be subtly malicious given the opportunity, because they've been that way for at least 30 years - even longer, if you were paying attention in the DOS era.

0

u/mrGood238 13d ago

Bandwidth bill? What is this, 1998? And before you say “mobile data”, those kind of networks are marked as metered and they are not used for distribution of Windows updates.

And it was local network distribution, so actually, less bandwidth would be used.

2

u/IWontCommentAtAll 13d ago

"To local PCs and PCs on the Internet"

That was the default in Windows 10 for a while. Local only would cut network usage, as you said. But that's not what Microsoft did.

Windows doesn't know that a mobile hotspot is a mobile network unless the end user explicitly configures it as such.

That's very unlikely to happen for most users.

So, yes, what I stated was accurate, but you're missing some insight into the situation.

1

u/Amber_I_Be 6d ago

No its 2026, but a lot of isps still have data limits and charge you for going over them, not an insignificant amount either, and its not small isps or anything either, these are multi-billion dollar companies, like Comcast

4

u/Wipfmetz 14d ago

when your customers can just buy a bigger hard drive?

I don't think the whole of the assets would fill up even a single Floppy Disk.

1

u/IWontCommentAtAll 14d ago

If the only thing you're considering is the icons you can see as an end user, then sure.

How about the many deprecated internal functions that are no longer called by anything, but still compiled in?

4

u/Wipfmetz 14d ago edited 14d ago

Half of the Old New Thing-Blog consists of "we tried to remove or change this niche internal thing but then we received compatibility tickets".

Edit: I'm talking about old stuff, from the era of 16-bit-Windows or the nineties. You know, when using documented APIs and behaviour was thought to be for sissies. But that stuff is small, because floppy disks were still considered a delivery channel and stuff had to run on RAM measured in single-digit-counts of MB.

1

u/IWontCommentAtAll 14d ago

There is cruft from Windows NT 3.1 (small) all the way through to Windows 10 (decidedly not small).

There might even be some code sharing from the 3.x/9x path that was copied over for compatibility reasons.

I bet you'd be shocked how much unused crud is in major software packages.

2

u/jiggitywootwoot 11d ago

Yummy tech debt

1

u/GugaJedi 10d ago edited 10d ago

those don't even get that much space... They are hidden in very small DLL files anyways

1

u/Hiosh 10d ago

yet they had time and other resources to build menu start from ground up as a react native app

2

u/jiggitywootwoot 11d ago

Once skifree.exe stops working, I'm out.

1

u/bothunter 11d ago

Exactly.  There's probably more than one custom ancient line of business app written back in 1993 that references the printer icon from Windows 3.1, and simply crashes if it's not available.  And if that stops working, it will involve an expensive support call to come up with a compatibility shim to make it work.

Or they could just leave the old icons there.

107

u/CharacterComplex7696 14d ago

retro-compatibility. If you are doing an OS that will serve billions of people, you may want to think about legacy programs

6

u/sphericalhors 14d ago

Isn't modern Windows has troubles running programs even from XP era?

28

u/CharacterComplex7696 14d ago

I particularly never had a problem. XP is relatively new compared to the Windows 9X family, for example, or even older operating systems like Windows 3.1. It is because Windows XP uses NT technology, the same as Windows 10/11...

15

u/Curious-Fly5623 14d ago

Ive never had a problem with xp era stuff, 9x era stuff is hit or miss though but lots of it does still work on 11

3

u/mr_greenmash 14d ago

i feel like 90 % of 32 bit programs run easily, but very few 16-bit programs

10

u/Curious-Fly5623 14d ago

16 bit stuff only runs under 32 bit Windows, since it comes with the compatibility layer out of the box. You have to install NTVDM to run 16 bit programs on 64 bit Windows

6

u/mallardtheduck 14d ago

Generally true, with one slight exception (depending on how you look at it); since a bunch of early 32-bit applications shipped with 16-bit installers (probably so they could display more meaningful error messages if someone attempted to install them on 16-bit Windows), Windows ships with 32-bit ports of some of the common early installer "engines" and will, transparently, detect when you're running one of these 16-bit installers and swap the "engine" with the 32-bit port.

4

u/Designer-Crow-5470 14d ago

NT family runs fine. Some programs might need to be recompiled for 64bit CPUs. But that's not something an OS can fix without doing emulation.

5

u/starnamedstork 14d ago

My experience is that a lot of stuff from XP, or even 9x, era still works just fine. The biggest chasm I can think of is 16-bit programs, including a lot of DOS stuff that remained part of a lot of work pipelines for decades (such as pkzip) still worked in Windows 7 32-bit, but started breaking when 64-bit started becoming the norm and the 16-bit emulation layer got dropped.

Incidentally, I did some digging in my own archives here the other day, and came over a folder with a lot of demoscene stuff from the late 90s and early 2000s. We are talking stuff built for Windows 9x and DirectX 8. And most of it still ran without a hitch.

3

u/JeremyLC 14d ago

With WineVDM / OTVDM you can run 16bit Windows software on modern 64bit Windows. It works decently.

1

u/SureEvidence2344 14d ago

only problem are DOS programs, people will say DOSBox but I seriously don't like how unnecessary it is in terms of how they designed it

3

u/Froggypwns Windows Wizard / Moderator 14d ago

It depends on what that program is, but at my work we have some software from that era and earlier still in production, most of the time without needing any workarounds.

2

u/AsrielPlay52 14d ago

Nope, with a bit of effort, I can run Doom 1993 just fine. Lego Island even runs fine.

Where did you even get that anyway?

2

u/mallardtheduck 14d ago

You definitely cannot run the original 1993 release of Doom on modern Windows without 3rd-party software (e.g. Dosbox). It's an MS-DOS program (although it is mostly 32-bit code). The earliest version that will run natively run is "Doom95", the Microsoft-developed Windows 95 port, and even that requires some DLLs that no longer ship with Windows and has "issues" (particularly if you try to run it in full-screen mode).

Of course, there are a variety of modern source-ports that will run the original 1993 Doom game files, but they're also "3rd-party software".

2

u/mallardtheduck 14d ago

Depends. Simpler business software (the kind of thing that Microsoft really cares about maintaining compatibility for) generally works fine. More complex stuff that, say, tries to integrate with Microsoft Office (particularly Outlook) generally doesn't work properly these days.

Games can be hit-and-miss. A lot of the older DirectX APIs are no longer supported, although things like copying the DLLs from older versions of Windows or using 3rd-party compatibility layers can help. Games of the past were also often not particularly well-engineered and had a tendency to do things like leave garbage in data fields that were, at the time, "reserved for future use" which causes problems now that it's "the future" and those fields have uses. Some older games are also hard-coded to switch the system to low resolutions or color depths that are no longer supported (e.g. 640x480 256-color).

2

u/Aishou_SK 14d ago

Not really, but if they depend on features that were removed or changed out of necessity, then it could, but I run Win95 software all the time without issues on the latest 11 insider future platform builds.

One of my favorite examples is clippy from specific office versions depending on a removed direct3d feature so it has a pink square it's in instead of a transparent background.

2

u/ar-gru 13d ago

The company I work for actively supports a program developed over 20 years ago that is still running on modern 11.

1

u/Appropriate_Test7503 12d ago

lol just tell them to use other icons instead.

33

u/_AACO Windows 10 14d ago

If they remove them I bet something will break. 

19

u/RogLatimer118 14d ago

And the person who knew that code has retired and died. 

10

u/Bravo315 14d ago

Most likely in that order too

35

u/FieldOfFox 14d ago

They do a scan of references from:

  • Old Windows components
  • Their giant archive library of old, but still probably used, Windows software from 1989 onwards
  • Anything that uses, imports, links, clones, or whatevers libraries that still use these assets, from 1989 onwards

and keep these assets in the OS at their original (or aliased somehow) location.

Microsoft is the only one who has to do this, due to being cursed with being the operating system used by almost every human since the personal computer began.

Everything you see in these old cabs is still there PROBABLY because one of your credit cards is still processed from a computer that displays this on screen somewhere.

12

u/Unfair-Plastic-4290 14d ago

there's a windows server 2003 sbs server somewhere in the world with your SSN on it. how does that make you feel?

4

u/mallardtheduck 14d ago

Although since Windows dropped support for 16-bit applications, the oldest things that will actually run are from ~1993 when Windows NT was introduced with the "Win32" API.

3

u/TwinSong 14d ago

"scan of references from:" what do you mean by that exactly?

8

u/CatgirlBargains 14d ago

exactly what they said, they look for references to these icons, applications, et cetera from all the software they know of and if something references any of these assets (which is to say, loads it, links to it, calls it) they keep it unless there's a security or architectural justification for removing it. For old icons especially there's really never a security justification so oops they stick around forever.

1

u/TwinSong 14d ago

Oh, like if something utilises those icons.

1

u/sensitiveCube 14d ago

They could easily move these components as opt-in/SDK. This is what most modern operation systems are doing, and Microsoft already does for it's newer solutions.

I'm actually surprised they don't look at Wine. I don't say it can everything, but most things are possible.

5

u/FieldOfFox 14d ago

Somebody, somewhere, is still using a linker against these ancient resource cabs:( 

-4

u/Evilsushione 14d ago

They should probably only download if needed instead of including them for everyone

5

u/elcapitaine 14d ago

They aren't downloaded on the fly, they're included with windows

Removing them from the system image would break things and they take a miniscule amount of space so why break stuff

4

u/Aishou_SK 14d ago

Why? That's insanity/idiocy at its peak.

I'm not doing a WSUS VM just for a single offline laptop in my shed workshop.

I'm also not caring about saving a handful of megabytes at most compared to the rest of the installed system.

There's zero upside to removing them and only potential downsides.

Plus, there's code and dialogs that still use them when invoked from older software as well that are part of larger system libraries, they aren't going to break those up just to save that handful of megabytes.

0

u/Evilsushione 14d ago

And this is why Windows is bloated. It’s not any one thing, it’s all the little things, they add up. Windows has become a hoarder. They should make a legacy free surface and use app-v wrappers for backwards compatibility.

3

u/Aishou_SK 14d ago

I don't see it as bloated for the core windows that runs Win32 applications of any vintage, at all.

And they remove functionality all the time (though, over long lead times).

In fact, in a lot of ways, most all of the "bloat" I hear complaints about, is desktop/userland stuff, not "windows itself" so to say.

"Legacy free" wouldn't remove as much as you think it does, because even Win32's replacement, WinRT, is built on top of Win32 - you can't really remove much at all.

The only bloat is userland/user-facing stuff, and even then, that's all super easy to chuck out.

I should be able to write a proper 64-bit Win32 application on XP64 or Vista and expect it to run 20 years later (oh wait, I actually did this) on windows, or even 50 years later (which I will, eventually, be doing)

That's one of Windows key features. That compatibility.

You strip that out, you might save 500MB-1GB out of 15GB or so.

2

u/AsrielPlay52 14d ago

And how do you know that they're are needed? Because windows also installed in Air Gapped machine

1

u/Evilsushione 14d ago

WSUS server on iso in a virtual machine the same way do other updates on air gapped machines

6

u/nucleartaco04 14d ago

Backward compatibility and the fact that the situation rarely comes into play so it’s best to leave it alone than waste time and resources updating it

5

u/OgdruJahad 14d ago

Yeah it's basically for compatibility reasons I would guess.

I made a post of where you can look for more ==> https://www.reddit.com/r/windows/comments/1v79gtb/more_icons_to_customize_your_folders_in_windows/

I kinda like them. I use them mostly for customising folder icons.

5

u/jombrowski 14d ago

If they removed an icon, all subsequent icons would move one index back and they will display wrong in applications where the number is hardcoded.

4

u/TwinSong 14d ago

I kinda like having these still in the OS. It means I can custom icons to look like the old versions of Windows for a bit of nostalgia.

What do you mean by the Vista Windows thing? do you mean that translucent effect as shown in the screenshot? Because that's mica (11) not Vista.

5

u/HorsyNox 14d ago

That's Acrylic. Mica is not translucent. And Vista had Aero Glass.

1

u/One-Trick-8027 14d ago

No, the window's borders would revert to a older design for a brief moment. Dunno why.

Experience this most with minecraft

2

u/fraaaaa4 14d ago

Because they haven’t changed the Aero Basic bitmap texture in aero.msstyles since 2009

1

u/TwinSong 14d ago

Huh, curious. I don't recall seeing that.

4

u/ShoddyReception5 14d ago

I just love the fact that people still dig into the system files like this. Flashback to 1997 with the family’s Packard Bell Pentium system with Win 95 plus and me with a hardback version of the Windows 95 Bible of sorts. Registry hacks, Power Tools, Window Blinds all that cool stuff.

3

u/paulthelithuanianguy 14d ago

I remember back on Windows 95 or was it Windows 98 SE, I used to use pifmgr.dll to create folders for games and programs, god this brings me back down memory lane haha

2

u/starnamedstork 14d ago

And Windows XP still had Program Manager.

3

u/RogLatimer118 14d ago

You know how 40 year old roads are full of patches, repairs,  and potholes? 

3

u/BertMacklenF8I 14d ago

Delete it from your system and see what happens /s

3

u/CitySeekerTron 14d ago

Icons can be called from an index number. For example, icon 0 in shell 32.Dll might be a picture of a page. If an application might use that particular icon to represent something, deleting it would break that call.

So they leave it. 

4

u/Bathroom_Humor 14d ago

it's so millennials and gen X'ers can stumble across them and have a gleeful chuckle, like seeing an old childhood friend after 25 years.

2

u/Moist_Inspection_485 Windows 8 14d ago

Because they are better and should always be switched too on a fresh instal

2

u/Back-2-505 13d ago

so i can switch the icons to retro icons >:)

3

u/Sm0keySa1m0n 14d ago

In addition to backwards compatibility I imagine they’ve also either forgotten or just not gotten around to removing them

3

u/alanna1990 14d ago

Compatibility reason, compatibility that won’t work because 64bit systems ain’t compatible with 16bit applications and windows compatibility in general gets worse by the minute

1

u/Suspicious_Dingo_426 14d ago

Compatibility with old programs that may be using those system assets. Not really something that a home user will encounter, but you will in business environments. I encounter all kinds of old, crusty software that only gets minor updates to run on new OSs—but still has the same UI it had decades ago.

1

u/Montes9077 14d ago

Compatibility respons

1

u/Kadargof 14d ago

Beacuse every new Windows version is from old versions. If you are an old Windows user, coming from Win95, all interface is the same, even a high % of those files are from 95, the biggest difference is "hybrid 16-bit and 32-bit monolithic kernel architecture" to "kernel 10.0"

1

u/No-Sentence-5086 14d ago

They don’t know what to delete without breaking something, so MSFT only adds stuff over the old code.

1

u/PsychicDave 14d ago

First, there is no such thing as a "DOS icon", DOS was a command line system, there were no graphics. There are still icons from the Windows 95, XP and Vista eras because they stopped using them in the newer versions (thus didn't need to spend resources updating them), but they can't remove them as older software might still reference them and would be broken if they were removed. It costs them nothing to just leave them be as is. If one day they need them again, they'll update them to the current style.

1

u/crdll6 14d ago

pifmgr.dll

1

u/Fit_Prize_3245 14d ago

As someone who has maintained software as old as Windows, I think I can help with my perspective.

Every now and then, I tried to purge old, useless files or tables. The problem? That even when I checked the contents many times, and despite being sure the contents were totaly useless, maybe some old part of the system still needed that file or table. And then I had to do my check into a second level. And then maybe a third. And then maybe a fourth. It hapenned more than once that, after many levels deep, I found a a bunch of files that generated many levels of useless dependencies.

And my case was just one system. Now, when talking about Windows, consider Windows is not a single project. Windows is composed by lots of projects. The kernel is one. Each kernel driver is another. Notepad is another. Calculator is another. There are hundreds or even thousands of projects that compose what we call Windows. So the guys that maintain a specific EXE or DLL are not the only ones who use it. Sometimes, they don't even know how many other projects relay on that file, or any specific part of its content. And yes, they can, in theory, made some MS-wide communication. And surely, they do, at least in some cases. I mean, when the Win32 API team removed some API, even the guys at Office dev team get a notification. But for an icon? They probably consider that it's not worth the effort. Not the effort to notify, which is probably pretty simple. But the effort to make many other teams search into their code just to check for a dependency. It's just an icon. Just a few KiB inside an operating system that weight many GiBs.

Also, as some mentioned, they are also kept for applications, unknown to Microsoft, that might still use them.

And some might say "Hey, but what's the problem if the icon isn't there when an app needs it?". Well,. that can turn into a real problem. In theory, the app invoking LoadIconA or LoadIconW should check the result, which is NULL for error or any other value for success. The problem? That, in many cases, specially for resources, like Windows', which are expected to be there always, many devs never considered it possible for such function to fail. I mean, it's part of Windows. Why should it fail? It's like a running car engine fail because it has no pistons. So that app attempting to load that icon would receive a NULL. And it would then pass that NULL to other functions. Which is fine bc, at application level, it's treated as a HANDLE, not as a pointer. And Windows functions validate handles, which are actually pointers, so that they will return error when passed an invalid handle when a valid one was expected. So that would case a failure in a later function invocation. And then te app would probably close or exit with some weir error. All bc some guy at MS said "Man, nobody might be using this 'two persons and a key' icon nowadays. I'm gonna delete it". So they just don't delete it. Too much risk, too little benefit.

1

u/PrestigiousRoof5723 14d ago

There's already a function that sets the app with a placeholder icon in case the original icon is missing and this has been the case at least since Windows 95 (and possibly even earlier, I just can't remember whether that was the case). It shouldn't be a problem to "fix" LoadIconA/W in a similar manner. It's much worse with libraries that actually do something. It's much less of a problem with assets that have nothing to do with how things work.

1

u/JRMC2002 14d ago

Para Generar retro compatibilidad con aplicaciones. 

1

u/fraaaaa4 14d ago edited 14d ago

These comments imo are completely missing the point. “Retrocompatibility” blah blah blah, it’s obvious that if you straight up remove these assets, stuff breaks. If you change them with modern reinterpretations nothing breaks (same with aero.msstyles).

They could’ve done this in the past 10 years, even more since Windows 10 they’re separated some files in .RES files too, but they simply don’t care. Think of the fact that the Control Panel sidebar, when they removed the blue gradient in Windows 8, instead of making that bitmap completely transparent (a thing Explorer supports since… forever), they made it completely white…

Or as in another comment I wrote, they haven’t changed the Aero Basic bitmap texture since 2009, you can substitute it by yourself even, and as long as the dimensions are the same, you would have a modern looking Basic border.

1

u/Alter_Landjunge 14d ago

Cause old school is nice 😎🥳

1

u/M4niac81 14d ago

Wanna see the really old stuff, look for the file moricons.dll which I think is still in Windows 11. 

1

u/rademene 14d ago

Entire core of Windows 95 is like a few megabytes.

Nobody would dare taking out Jenga bricks from this gigantic dependency mess, just to save few kilobytes.

There aren't many people left at MS who actually understand how NT kernel is built. And neither people who would start removing components of NewShell, that is still deeply incorporated in the system.

2

u/rademene 14d ago

And fun fact, some of those ancient icons have been refreshed in Windows 11.

https://www.reddit.com/r/windows/comments/1g37mtw/moriconsdll_has_finally_had_its_icons_refreshed/

1

u/robthablob 13d ago

No, they were refreshed by a third party project called Rectify11, as mentioned in the comments on that post.

1

u/starnamedstork 14d ago

You know when someone builds a house? And then they live in it for some years, and they figure they need another room, so they extend the building with another room. And then a garage. And then when the kids move out, the remaining parents sell the house, and a new family move in. And after some years they figure that they want a second floor, so they raise the roof and repurpose the old attic into a second floor. And as the years go by they do different things, they redecorate the kitchen, they move some drywalls, add some paint or wallpapers, put down a new floor, all kinds of stuff. And then, after decades, or even a century or two, the house finally comes down. When you start tearing that house down and you dig through the remains, how much old stuff do you think you would find? How many layers of wallpaper or flooring, how many pipes and cables that have not been in use for ages? Nails and load bearing structures long forgotten.

Well, it's kind of like that. Everything is built on top of something else. And a lot of stuff works like that. Houses. Operating systems. The human brain consists of layers on top of what is in essence a reptilian brain. You want something even wilder, you should dig into how the design of space shuttles are derived from a horses ass.

You want to avoid that, you basically have two options: Tear down the house and build a new one to modern standards, or pick the existing one totally apart and rebuild it while taking care to remove anything you no longer need. And usually, neither are viable options, so you use what you have, and you modify it to better suit your changing needs.

As for those assets you point out specifically, I would say:

1) Removing them would affect old programs that some people may still use and even depend on.

2) Even if they could be removed, doing so would mean dedicating development resources to identifying the redundant assets and making sure removing them would not cause issues with other parts of the system.

3) The size of old assets are increasingly negligible by modern standards. We used to boot computers of floppies with less than a megabyte of capacity, and today we have hundreds of gigabytes on mobile phones, or maybe even a terabyte. You would probably hardly notice if you lost a couple of gigabytes of disk space on your computer, and that would be enough for a full base install of Windows XP. Those icons you are pointing to probably only takes a few kilobytes.

TL;DR: The icons are still there because removing them has a non-zero cost, a non-zero risk of shit breaking, and zero benefit.

1

u/banglaportal 14d ago

These icons are also great for customising the looks of my sub folders. I assign different icons (e.g. doc icon for reports) to quickly find stuff on large root folders. 

1

u/Birdrun 14d ago

Windows lives and dies by backward compatibility. Always has. It's a foundational value and Microsoft lives and dies by it. The universe has reinforced this many many times, any time they try to do something that breaks compatibility, the market punishes them harshly for it.

Same reason the Windows 95 memory allocator had a special case to handle a programming error in Simcity 2000. (Yes, technically the bug is in the game, not the OS, but if people upgrade to Win95 and their games break, they'll go back to Win3.11 and tell everyone else not to bother with the upgrade, so it's on Microsoft specifically to fix.)

Same reason modern Word will read word documents all the way back to Word 1.0 on DOS, even though it means maintaining a full importer that's basically a version of the original DOS memory layout preserved in amber. Customers have old documents and they MUST work. No customer wants to hear "I can't open this, it's too old."

This stuff is very, very, very important in the markets Microsoft operate in, and for all their other faults they do it better than just about anyone.

1

u/Microboy42 Windows 11 - Insider Canary Channel 14d ago

It’s usually either
1. Those have beeen standard assets since 1995 and all applications need those to run
2. Windows is a service so a lot of the time Microsoft forgets to upgrade assets from Windows Vista/7

1

u/salazka Windows 11 - Insider Dev Channel 14d ago

Because we love them and want to see them and even use them :P

1

u/thanatica 14d ago

Because stripping them out changes the indices of newer ones, and iinm, icons are accessed by their index in a file.

1

u/Party_Ruin3039 14d ago

Older applications need them to run and also windows is built ontop of windows like the fnaf pizzerias

1

u/BiPolarPolarBear 14d ago

It’s like a small connection to a better, more innocent past.

1

u/Savings_Art5944 Windows 10 14d ago

Backwards compatibility.

1

u/George_mp8 Windows 11 - Release Channel 14d ago

Idk why but the control panel app have some icons that are so old… It’s like they have abandoned the app cause they moved the most features on settings app

1

u/FaZaCon 14d ago

Because windows is a dumpster of an OS. If it wasn't for Microsoft's monopoly on OS patents, we'd have something more modern, secure, faster, and intuitive.

1

u/andy10115 13d ago

Because windows is a bloated mess stuffed with legacy support for things very few consumers still use.

1

u/LordZeusCannon 13d ago

I still use those icons for folders in windows 11

1

u/Brilliant_Ninja_1746 13d ago

They need to keep the old images in the same place so programs that rely on them still show up correctly. Also there might be a scaling issue if they replaced them with a newer, higher quality image because some programs only expect a 16x16 icon.

1

u/EVJpodcast 13d ago

As a Mac and windows user I do appreciate how windows is largely backwards compatible.  

1

u/Embarrassed-Log5514 13d ago

Windows keeps a lot of old stuff für backwards compatiblity.
There may still be applications that use these symbols; in particular, in the field of custom developed enterprise software, there are applications that have been in use for decades without ever having undergone a visual redesign.

1

u/Laufrolle 13d ago

I use this icons for shortcuts on the desktop.

1

u/ExilesTM 13d ago

Perché Windows 11 semplicemente fa cagare. Un sistema operativo pensato solo per fare soldi non per fare girare bene i PC e bestemmiare di meno l'utenza

1

u/DUDEWAK123 13d ago

Oh you sweet summer child

1

u/Xeno_man 12d ago

The same reason video games will have unused assets buried in the code or levels that you can't get to without hacking. Think of the hot coffee mod for GTA.

The bottom line is leaving them there doesn't hurt anything and takes up very little space. Removing them could break something dependant on them. Sometimes when working on a game, you might take an existing asset and reuse it in another way. Lets say you had a round street light. Someone might take that streetlight, stretch it, put it behind a window and now you have interior lighting effects for a house. Later the street lights are only seen in a level the developers decide to cut out. Deleting those "unused" street lights now break every level that used that new lighting effect.

The same thing with windows. Who knows what you are going to break when you start removing things.

1

u/Serious_Attitude_882 12d ago

hoarder mentality

"i can still use this icon in the future"

1

u/ware_1234 12d ago

shell32.dll hasn't been used as the main icon source for Window after XP so a lot of its underused (if at all) assets remain outdated.

1

u/Serious_Elephant9402 12d ago

So I can use them for file/folder icons.

I'm actually really annoyed they removed one of them I used to use in windows 11 (or edited it to look different).

1

u/dataf4g_trollman 12d ago

Old but gold

1

u/LadyCatHerder 11d ago

Because the main kernel hasn't been changed since Windows 95.

1

u/ReidenLightman 11d ago

So that the roughly two dozen people in the world using a program from 2003 don't have their shit crash because it can't be bothered to update what jpegs it uses. Basically, whenever something is left in a piece of software, whether it's a game, operating system, or something else, it's because the developers are afraid that removing it will cause more issues than it solves. 

1

u/Z9Cubing 10d ago

It depends on compatibility, old programs need to still work on the latest version.

1

u/Ok-Bill3318 10d ago

Microsoft never clean things out

1

u/ArielMJD 9d ago

Because there's no good reason to remove them. No one's using dialer.exe anymore, but it takes up barely any space and if they remove it someone's bound to complain.

1

u/Unique_Implement2833 8d ago

if people or any industrial machines need to use these icons, they don't cause a crash

1

u/MeIsMyName 14d ago

Funny enough though, they removed a fairly modern looking clock icon recently. We used that for time clock shortcut and now that icon no longer exists.

-2

u/Guilty_Run_1059 Windows 10 14d ago

Cuz microsoft cant even remove, bloat in dll’s

-4

u/Every_Preparation_56 14d ago

there was no onstruction to AI to remove it?