Explains a lot
This explains a lot about even today's Windows update system.
The amount of time it takes to install a monthly update on modern Windows versions must waste billions of man hours every year.
Microsoft veteran Raymond Chen has shared another nugget of Windows lore – what Windows 95 did when installers stomped on its system files. The problem traces back to the days of 16-bit Windows, when many system components were redistributable. Installers could include copies of those components and place them on a target …
But at least it shows that there were proper software engineers who came up with a clever solution (or kludge depending on your point of view) to try to keep the system in some form of a functioning state.
Today, the only way to fix things would be for a ground up rewrite from scratch as it's so broken it's beyond any form of reasonable repair. Oh, and some proper testing and QA validation wouldn't go amiss either.
This post has been deleted by its author
Personally I think a better* way would have been to pop up a dialog along the lines of "You are running an installer which is a pile of manure and will break your system. To protect you, the operation will be blocked. Please contact the software vendor and tell them to get their manure in order".
It wouldn't take too many of those for the wayward vendors to face the sort of "user feedback" that would make them sort their installers out.
Exactly. Back them many installers were not made using specific tools like Installshield or the like - they were writen by the application develoepers, and not everybody, especiall those caming from DOS, knew (or knew, but didn't bother) Windows executable resoruces contains the version number (moreover, many didn't bother to create the correct resources data for their own executables).
Using the classic mindset "my application is the only important one, and the only one users need to run" - they used the gorilla approach and did overwrite at will.
The real mess, though, occurred when applications in one language got installed on Windows of another language. I spent two days trying to fix a mysterious printer problem where data suddenly was no longer printed on the correct positions in a form (this was in the says of matrix printers and chain forms) before I finally discovered that a printer drier from an English Windows 95 distribution had made its way onto a Dutch language version of Windows 95. Don't ask me why different language printer drivers had different positioning methods, but they did.
Applications could wreak similar havoc. Applications at the time could easily modify or overwrite OS files, and installing applications in a different language than Windows itself could be catastrophic.
Running the "Windows 95" upgrade CD would install to the computer as long as it detected the presence of win3.1. Else copy WIN.COM SYSTEM.INI USER.EXE to a fake Windows folder and the install would proceed. The "Windows 95" upgrade CD was identical to the standard "Windows 95" install CD. Except you had to change a "0" to a "92 in an INI file. Also, if you removed the hardware enum entries in the registry then on reboot Windows 95 would re-detect the hardware.
I distinticly remember someone installing D or Q on a server every Friday and uninstalling it before Monday morning, and said game quietly overwriting a .DLL with a vintage version, and it was never caught because of THAT feature, until it failed on one fateful day.
Either that, or it was a Myth, a part of IT Lore that shall never be forgotten even if untrue.
One of the reason of the existence of DLLs is to be shared. Especially back then when disks were far smaller than today. Moreover shared DLLs can be updated without waiting for the whole application to be redeployed.
Now, if you like Ubuntu snaps, it's a choice of yours.
I would prefer an OS that notifies developers that from version x.y some behaviors won't be tolerated anymore, and starts blocking them. But of course you will have call from the usual Fortune 500 company that has a critical application written eons ago by a lone developer in Montana and later moved to the Amazon forest.... and then people like Chen has to design these kind of workaraonds.
And then you ended up in .dll hell when an older .dll overwrote a core windows .dll resulting in you losing functions in windows. and ending up having to re-install windows and play "where the hell are the GFX/Sound/CD-rom/printer/mouse drivers" before having a crash course in configuring windows.
And then developing the drinking problem thats plagued you ever since... see icon
An HP failed update made it impossible to use or reinstall my HPmulti-function Printer.
It failed because there was one particular .dll that failed to get replaced by the update, which just aborted. It couldn't be over written with the new install, or manually deleted. Even HP's multi level uninstall routine absolutely refused to remove this poxy .dll and the install routine wouldn't just ignore or skip it. What made matters worse it was exactly the same version number. It didn't even need changing.
Bought a new printer and have never bought anything HP ever since.
I routinely run sfc /scannow to correct the windows updates oddities. There's a well over 50% chance it comes up with corrected errors (reboot advised to implement fixes). Whenever I help someone with their PC I create a FixPC.bat with a desktop shortcut to run it as admin and tell them to run it and reboot before coming to me with any tales of woe.
A certain webcam, which shall not be named, refused to install on Windows, and just after being coaxed with an update installer from the manufacturer, it finally worked.
Meanwhile, the thing worked when I plugged it on a PLAYSTATION THREE.
I noticed the PS3 had an interface for webcams buried in the menus, decided to try it, and out of the blue, it worked.
No explanation whatsoever.