as different users. PC manufacturers largely ignored these best practices and shipped PCs with the desktop being logged-in automatically as an administrator. Users could do whatever they wanted and it probably kept support calls lower for the PC manufacturers, but it also allowed all the malware the user came across to do whatever it wanted. Developers -- and especially consumer "programmers" also largely ignored these best practices. They used their unrestricted desktops (which they bought from the above PC manufacturers) to write programs. These programs, being written while logged in as an administrator, had no problems doing anything the developer or consumer "programmer" could imagine because they had unrestricted access to the machine. Once these programs were deployed to places that "ran" as a standard user, the programs would often break. Instead of fixing their programs, however, most recommended or "required" that the program be run as an administrator. Even in legitimate cases for running a program as an administrator, many found it easier to use an administrator account on their desktop instead of teaching users how to use RunAs (which would prompt for username and password). Thus the developers encouraged PC manufacturers to carry on shipping PCs that defaulted to an administrator account and PC manufacturers encouraged (bad) developers and consumer programmers to continue writing programs that, for the most part, accidentally required administrative privileges. Don't point blame at Microsoft for problems that aren't really theirs. Security holes in their products is their fault, the UAC "problem" isn't --