We have run into a specific situation where we need to install our software on a user account that does not have administrative privileges. In this specific environment only the computer administrator may install software on the specific user account.

We then use the global variable for the current user: %_CSIDL_PERSONAL%\OurDataFiles to install some files into one of the userís folders. In this specific situation, the files are installed in the administrator file directory. This is understandable as the exe was launched under account control by the administrator.

But what I would like to know is how to efficiently deal with this situation as we want the files to be stored in the currently active windows session user profile and not the administrator account profile.

In the above example, we just used a PC that was not connected to any domain account and the local Administrator account was used to install the software on the user account that did not have administrator privileges.
In the same sense, we are also concerned about the implications of installing software in a similar way but where the PC is connected to a domain where only the domain administrator has the right to install new software on a userís domain account.

Any information you can provide us with, in terms of a correct method to use in the above cases, or any variables that would be better suited then the SP_Personal variable in situations like these were we need to install files into the currently active user file directory would be much appreciated.