My Windows desktop app shares settings between Windows users, so I keep a settings file under AllUsers Application Data (wherever that might end up). All works fine on WinXP but on Vista/7 I find that only Windows Administrators can change files this area. I don't yet provide a manifest so each user thinks he can change settings but virtualization ensures that each user actually has his OWN settings file. This breaks the idea of Common (allUsers) AppData.
I could always run my app at Elevated access - BAD idea! for many reasons.
I can set the ACL on my AppData folder at installation time - ok until someone cleans up or loses my folder when subtle bugs happen.
I'm tempted to put the settings back into my Program Files installation folder and set the file's ACL there - would this work? Could I set up a user-writable folder within my installation folder?
Where is my shared application data expected to live?