I found a fairly concise summary of how the Virtual Store works on the web. Windows intercepts write requests to the Program Files and Program Files (x86) folders when the user does NOT have Admin rights, redirecting the request to the protected, hidden folder that serves as the user's Virtual Store. Similar action is taken by Windows when a read is requested.
So it appears that this behavior has nothing to do with write-protection at either the folder or file level, and everything to do with the UAC and Admin rights.
You might want to refactor this feature in your app to use the Registry instead of an INI file, or write/read the INI file from a user-specific folder, such as C:\Users\(username)\AppData\Local instead of the Program Files (x86) folder.
HTH...John
The odd thing is that it is working for several installs but not for one particular user. Any ideas?
I agree with John 100% with using the "C:\Users\(username)\AppData\Local" path instead of local to the App (however the VirtualStore should make that work 100% as well under the "Program Files (X86)" folder).
I would disagree though with the recommendation to use the O/S Registry. There are dangers in the 32 vs 64 side of the registry and even more serious, is the restriction on the Registry Read and/or Write based on a Windows "Policy" restrictions (burned on that myself many times - LOL). The latter being very common where many business users do not have write authorization to the O/S registry. Food for thought.
Regards ... Chris