The alternatives for that would be:
- either force XMPlay to run with Admin privileges (Properties -> Compatibility -> Always run as Administrator). But then you'll have to deal with an UAC alert every time you run XMPlay
- or just "install" (move) XMPlay to another location, not in Program Files. I personally have a completely separate partition where I install all applications. Even though UAC is enabled with default settings, all applications can write as they wish their own files. My VirtualStore is empty (except two ini files, from the Windows folder, which I have no idea how they got there
About Dotpitch's suggestion: And Vista. Don't forget Vista. It also has it's own UAC system.
However, for a one-user system, I don't see the big difference between having the settings/playlist in the user folder and having them in the VirtualStore. It's the same thing: a location where XMPlay is not installed, but only writes it's files. So it could very well remain like this.
Or, if it's any detection going to be involved, the default setting should be "ProgramData", not "per-user config". It will still be a global location (for all users), and XMPlay will be able to write to it without UAC interfering. Otherwise, on Vista/7 there won't be any solution for global settings in XMPlay. It will be either "per-user config", either virtualized by UAC (and will also get to a per-user location, because the VirtualStore is, well... per-user