For reasons nobody quite understands, Microsoft changed a lot of settings in Vista. Any programmer whose application hard-coded directory settings will soon discover that the application will fail to run well. This article summarizes the changes and how to code around the problem in a version-neutral way.

One of the other good things that has happened is for more applications to be run over Terminal Services. That really enforces more correct enviroment variable / API usage. I know bozo developers who hardcode the temporary filename c:tempsomething.tmp, even when there's no temp directory, or even when there's no c: drive at all, as is common in Terminal Services / Citrix / ProPalms remapped server environments.