Files under Program Files have a split personality

Posted by regularfry on Stack Overflow See other posts from Stack Overflow or by regularfry
Published on 2011-11-30T17:49:06Z Indexed on 2011/11/30 17:49 UTC
Read the original article Hit count: 248

Filed under:
|
|
|

I have a Ruby application I'm installing (along with a packaged ruby interpreter) under Program Files on Windows 7 with an NSIS-built installer. In order to debug it, I edited one of the files to add some debugging statements. After that, I uninstalled the package and ran a new version of the installer which includes a new copy of the edited file, without debugging statements.

Now, I can't get the new copy to load into ruby. If I run type <filename> in cmd.exe, or open the file in Notepad.exe or Firefox, I see the new version. If I run ruby -e "puts File.read('<filename>')", or open the file in emacs, I see the old version.

If, in Windows Explorer, I copy the file to a new filename, everything can see the new contents at that filename. If I delete the original file and rename the copy to replace the original, the split personality returns.

This situation survives a reboot, so it's not a simple matter of a file being accidentally held open.

What on earth is going on here? Is there some aspect of the install process that might be checkpointing the file in a way I can revert, or at least switch off while I'm debugging the installer?

© Stack Overflow or respective owner

Related posts about ruby

Related posts about Windows