Hello,
Per-user stores would be stored in each user's profile, while the
per-machine info (such as global addresses and any configuration info) would
be in the per-machine location.
If you didn't add the abstraction for Application Administrator, the default
security settings would suffice.
However, you are correct that you would need to edit the security on the
files to make your scenario work, since Windows has no notion of an
Application Administrator. You would need to create the Application
Administrator user group and then give that user group access rights to the
files/folders that they are meant to manage.
As an alternative to directly using files to access your data and settings
from your main program, you could implement a windows service that manages
the files for your app and then exposes an API for your application (and
other applications) to call and get the data. In this solution, all of the
files could be stored in the per-user location for the service (which should
only allow the SYSTEM or service account access and deny everyone else). The
service would be responsible for determining who has access to what.
However, you would need to be extremely careful that your service does not
introduce any security holes by allowing users or other programs to use your
service to do something that they are not supposed to be able to do.
--
- JB
Microsoft MVP - Windows Shell/User
Windows Vista Support Faq
http://www.jimmah.com/vista/