Jimmy said:
That's been my experience as well.
A lot of programs simply expect the user to be admin - primarily because
the "average user" has always been an admin. In XP it is more
complicated to develop an application that works as a standard user. The
result: Many programmers don't take the time to do it right. If it won't
be a big deal to most of their customers, and it's harder to do right,
they simply don't care.
Now, the "average user" will always be a limited user, with the minority
running as admin (disabled UAC).
This will benefit everyone, even the users who turn off UAC, in the long
run, as applications will finally be developed in accordance with
Microsoft's guidelines, since they no longer have a choice if they want
the "average user" to be able to use thier program.
Hi Jimmy:
I am a developer and I welcome the opportunity to modify my apps so they
will run as non-admin. In my case, it will be extremely easy (I think)
and I am mad at myself that I did not do this before.
The problem comes if people install and run the old version of my apps
on Vista. They actually will run pretty much correctly, but perhaps with
virtualization of Program Files (depending on what the user does). If
the user subsequently updates the program to the Vista-aware version (a
free upgrade) then the virtualized Program Files can lead to complex
problems. I know you can disable virtualization using a manifest, but
then won't some of the user's files seem to disappear? To fix up an app
whose former version has fallen prey to virtualization seems a
non-trivial task.
Personally I think this virtualization has more problems than benefits,
especially for Program Files. On XP, if you do not have admin rights, an
attempt to write to Program Files will be denied access. So the user
will be forced to write somewhere else. Problem solved.
Writing to the HKLM registry is more complex, because the program may
just fail silently. But this is something applications REALLY shouldn't
have been doing.
David Wilkinson