1

I have a cross platform program I wrote in Qt which creates log files (MyProg.log) and a sqlite3 database (myprog.db). I'm installing the program on Windows with Inno Setup.

On Windows XP, the log and db files get created alongside the executable, and everything works well. On Vista, the program works as expected, but when I browse to the directory with the executable, I don't see these two files. I put in a debug window and it reports that it is, indeed, using the files located alongside the executable (which I can't see).

I need to removed these files from time to when upgrading, but I'm finding it to be impossible. I've gone so far as running the uninstaller and deleting the app directory, but when I reinstall, it's still using the old db file. This is on a client's computer, so I'm not sure the history of it.

Is Vista doing some weird permissions thing? How can I find these "hidden" files?

3
  • Is the application working normally? Are you sure that the files are being opened and written to?
    – heavyd
    Feb 11, 2010 at 21:59
  • Yep...it's working perfectly. The only odd behavior comes when running a new version of the installer program which tries to delete the .db file. That delete never happens, which makes updating the schema a major pain.
    – brianz
    Feb 11, 2010 at 23:30
  • A program which writes to Program files isn’t Windows-compatible.
    – kinokijuf
    Jan 30, 2012 at 14:23

1 Answer 1

1

On vista and windows7 the "Program Files" dir-tree is not writeable by the applications. Instead they transparently creates the files somewhere under
C:\Users\brianz\AppData\VirtualStore\
(assuming your username is brianz)

More gory details

1
  • Thanks! Whenever I leave my little safety zone of *nix, these "simple" things absolutely perplex me.
    – brianz
    Feb 12, 2010 at 2:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .