Build 88 and 89 don't seem to like being ran from a directory you don't have write access to. Depending on if you've started it before, it'll either bomb out with an error code due to being unable to write to drod.err or bomb out nicely telling you it can't write to data. Build 87 and earlier (including release 3.2) work fine through UAC's IO virtualization (VirtualStore).
Switching to VS 2008 seemingly caused it to include a <
requestedExecutionLevel>
key in the manifest, disabling VirtualStore. Manually editing the manifest to remove the entire <
trustInfo>
key "
fixes"
it, reverting it back to the VirtualStore used before.
I really don't know what kind of fix to suggest. I guess the best short-term fix would be to remove <
trustInfo>
from the manifest to revert it back to IO virtualization. You probably have to
make the manifest yourself (bottom of the page details the mt.exe tool) instead of letting VS do it. Just copying the current manifest and then removing <
trustInfo>
should be ok.
Long-term, I guess you'll need to write to AppData or alter the privileges during setup. Moving existing users over to AppData could be hard, so it should probably be fixed by whatever the next big project is.
Steps to reproduce come down to enabling UAC or being a standard user, fresh reinstalling 3.2.0, patching to build 89 and trying to run the game.