Users still need to be educated.
The something bigger I described in another thread- but MS needs to get rid of the registry.
All programs needs to utilize something similar to U3. Obviously the same technology wouldn't work in an OS environment- but this is what it needs. Run it, and when you close it- no dependancies upon anything.
This eliminates programs writing to or using ANY OS files/functions. It basically turns programs into data... You would be able to copy/paste the program's directory and move it to another computer. No more registry.
Obviously piracy would need to be re-thought as well, which I see going into Internet-based authentications...
Im sorry, but I don't see many programs being written that don't use OS system calls (functions). Besides Java programs I suppose.
Point is, most modern, complex applications require knowledge of an underlying API for the most part. Does this mean the registry is required? No, but I am just pointing out that programs with no knowledge of the underlying OS applications are more akin to Java programs than most applications used on your PC now. Java programs run without any knowledge of the underlying operating system. Yet, I imagine their are Java-based programs that modify the Windows registry, which would seem counter-intuitive, but I am sure there is some example of such an app.
As far as having programs you can bounce around the hard drive? For many programs I can easily do this in Linux. A lot of open *nix software simply installs to a defined directory, and then places symbolic links to the programs executables inside the users PATH.
So this means moving a programs directory usually involves simply updating the associated links. Things aren't always like this and get more complex, but I thought I would relate my experience.