Hi all,
I have an application with Windows desktop as the target build platform. I write a preferences file to the computer by specifying this as the root location: SpecialFolder.CommonApplicationData
This has worked well for Unity 4.x where I am able to read and write to this preferences file without issue. As I understand, it uses the UAC capability to ensure that the file is accessible to users. By this I mean that while the referenced file live in C:\ProgramData\MyFolder\MyFile.xml, this file is replicated to C:\User\MyUser\AppData\Local\VirtualStore\ProgramData/MyFolder\MyFile.xml.
This has been working well until I recently upgraded the project to Unity 5.3.2p1. What I’m seeing now is that SpecialFolder.CommonApplicationData only attempts to access the file living in C:\ProgramData\MyFolder\MyFile.xml and does not redirect to the VirtualStore version. The consequence of this is that my application now does not have permissions to edit this shared file. Also, when I try to read the file, the permissions are not correct because the ‘correct’ version is the one that has been edited over time in the VirtualStore.
Any tips about what might be the source of the issue and why this behavior is so different across the different versions of the project. Nothing has change in my OS (Windows 8) and I have verified that the same code functions as intended in Unity 4.x, but is different in Unity 5.3.2.
Thank you,
David