Doing development work as an Administrator is an excellent way to facilitate making mistakes in your programming that will prevent your application from working properly as a Standard User.
HOW TO DEVELOP AS A STANDARD USER:
- If you need write access to certain areas of the registry, grant yourself access to those areas using the 'Permissions' dialog in Regedit (you'll need to run Regedit as an administrator, of course, but that's easy)
- The same logic applies to the filesystem, but you really should try to avoid making changes to filesystem permissions.
- Keep track of the latest Windows Updates by using the Automatic Updates feature.
- VS.NET facilitates non-administrator developing and debugging; there are user groups created on your machine when you install Visual Studio that you can add yourself to: "Debugger Users" and "VS Developers". You only need the latter if you are working on
- If you need write access to Windows system directories for your application to work, YOU ARE DOING SOMETHING WRONG. Windows Installer should be the only avenue by which you add, update or remove system components.
- Your entire application should be written with security considerations in mind; never assume that you have write access to any given location, and always provide useful error messages in the event that the user doesn't have access. Developing in a standard
user context will force you to be aware of these issues.
- If your application needs to do things that a standard user doesn't have the capability of doing, then ensure that your application supports elevating priviledge (by way of a "user/password dialog") for those actions.
I'm sure others can add more to this list, but if you are a developer working with an admin account, try this out -- you may be surprised at how much will still work.