In Windows 7, if you've admin permission, the files you try to write during runtime is written under the folder that .exe stays. If you don't have admin permission, it's written under virtual store.
In VS2005, It's just like that. After I migrated to VS2010, I'm no longer able to write under virtual store. Is this something to do with VS2010 properties?
Right click on your project in the "Solution Explorer" and select "Properties".
Under [Configuration Properties > Linker > Manifest File] you'll find "Enable User Account Control". The default value is "Yes (/MANIFESTUAC:)". I think you just need to set this to "No (/MANIFESTUAC:NO)".
If that doesn't work, try playing with the UAC Execution Level or UAC Bypass UI Protection settings. I think this is where you want to look.