I’ve been working on my blog comment threading modification of Elgg for the last few days. As I was copying my files to my iBook to test my instructions on how to implement the changes, I noticed something weird. When I opened a PHP file in my code editor I would see the current code. But when I copied to file to a new folder and opened it in my editor I would see an old version of the code. This caused me several problems as I implemented the changes to the copy of Elgg running on my iBook.
I was very confused! I would see different code depending on where the file was located. After posting a question on Stack Overflow I finally learned what was causing the problem. Vista has something known as the Virtual Store which it uses to store files in order to pretend a user has permission to write files to protected locations like “Program Files”. I have Apache 2 installed under “Program Files”. My web sites are located under C:\Program Files\Apache Group\Apache2\htdocs. So when I edited my PHP files a few would be copied to the Virtual Store because I did not have permission to edit files under “Program Files”.
One clue to the problem that you can watch out for is the Compatibility Files button that will appear in Windows Explorer when the folder has files in the Virtual Store:
To solve this problem give your user account full permissions to your Elgg web site directory under “Program Files” and keep an eye on the Virtual Store to make sure none of the files you are working on are coming from there.
Vista sucks! This caused me considerable confusion and many problems. I should send Microsoft a bill for the time and money it cost me.