Fog Creek Software
Discussion Board




Install stuff in the windir

Why does software install stuff in the Windows directory? Even MS does it.

Wouldn't  it be better to keep the system pure system? Only OS, drivers and some system files. Only windowsupdate may change anything there.

For example the .NET runtime installs it self in a sub dir of c:\windows. Why is this? It doesn't make it faster. Just install it in the programfiles dir and add it to the path. Samething with ActiveX, Windows should block the system directory and make installers install their components in programfiles/shared files.

This way you could erase every file and directory on the drive except for the system directory and Windows would still work. (it would recreate the documents and settings and the programfiles folder (for example) after noticing they are missing.)

It just keeps things tidy this way.

You can go even further and say that Windows creates three partitions during install. (one primary and two logical). On the first windows system files as readonly partition. Second programs and third swap and scrap partition. (Linux does it this way I think.

someone
Wednesday, April 28, 2004

The .NET runtime could be considered a part of the system: because, for example, I can write a "system service" that uses .NET.

If the .NET framework weren't in the windows directory, if instead it were in some other random directory, then my service wouldn't have permission to access that directory.

Still, perhaps it could equally well have installed itself in Program Files\Common Files\System.

Christopher Wells
Wednesday, April 28, 2004

You're no longer supposed to do a manual check of what's in your windows directory, so it shouldn't matter.  Worst case scenario is that a poor uninstaller will leave some extra services or processes running in the background, forever.  In general, though, you're just left with some (relatively small) extra files laying around.

So even though it annoys you, you will probably never notice the difference between a well-behaved installer (everything possible placed in program dir) and a moderately well-behaved installer (some files thrown into %WINDIR% or some subdirectory thereof, and left there after uninstall).

So it doesn't matter.

pds
Wednesday, April 28, 2004

If a Java application can run as system service:
http://www.informit.com/guides/content.asp?g=java&seqNum=13

So should dotnet work with services without messing with my windir.  (Java is not installed in the windir right?)

As far as I gather a service just needs to add something to a specific registry location and maybe call some win32 api functions. Using the framework API or external function calls. Your service should have no reason to write to the windir. 

The software installer shouldn't decide for me that it matters if it installs anything in the windir. I decide that thank you.  And I don't want it!

I even don't like that the multimedia files (sounds, desktop backgrounds) are in the windir. What is the logical reason for that?

In the past Windows NT was sold as a microkernel OS, I think this idea was lost somewhere.  System seperated from higher level functions.

I don't know much about BeOS but from what I have seen of about the 15 times that I used it, it seems a lot better in these terms.

someone
Friday, April 30, 2004

*  Recent Topics

*  Fog Creek Home