Question : Installing 'Compatibility Files' in Vista and Windows 7

Hello,
We have a small collection of programs that have data and settings files within our Program Files folder.  Currently we are only installing our programs on XP Pro machines.  Now, we're testing our programs on Vista and Windows 7 beta machines.

One issue that came up is how to deal with the 'compatibility files' in Vista and Windows 7.  Under XP, the database and INI files worked perfectly in our Program Files folder, but in Vista and Windows 7, each user has their own set of these files in their 'VirtualStore' folders (which we don't want).  We need those files to carry data/settings from one user to the next and the users may be Admin or Standard.

The two solutions we came up with have their drawbacks...
1) Force the program to 'Run as administrator'.  The problem with this is if a Standard user runs the program, they will have to enter an Admin password or the UAC settings have to be at the lowest setting (which will be unacceptable for some of our customers).

2) Move the otherwise 'compatibility files' outside of Program Files... which seems very messy way of doing it.

If at all possible, we would like something that is install-and-go without having to deal too much (at all?) with permissions.  Is it a setting in InstallShield?
I'm fairly new to both of these OS, so I'm guessing I'm missing something... or I'd like to know if these are the only ways to go so we can move forward on acting upon a solution.

Thank you in advance,
Mofa

Answer : Installing 'Compatibility Files' in Vista and Windows 7

You basically have already described the solution, and there's not much else.

Either the user's data must be in user's own directory; usually, the right place for the database and ini files is user's %appdata%, this is the recommended practice;

or in order to install anything to the location that affects the whole machine, such as %programfiles% or "all users" profile, naturally, the user must be an administrator. There's no way around this, and if there was, it would be security breach.

One way standard user can install an application requiring admin rights is when the application is assigned to the machine in group policy by the network administrator - in which case it is in fact installed by the administrator's order, so Installer goes into elevated mode.

See http://msdn.microsoft.com/en-us/library/aa369519(VS.85).aspx for more details.
Random Solutions  
 
programming4us programming4us