Не могу найти файлы .db или .log в Vista

488
brianz

У меня есть кроссплатформенная программа, которую я написал в Qt, которая создает файлы журналов ( MyProg.log) и базу данных sqlite3 ( myprog.db). Я устанавливаю программу на Windows с помощью Inno Setup.

В Windows XP файлы журнала и базы данных создаются вместе с исполняемым файлом, и все работает хорошо. В Vista программа работает должным образом, но когда я просматриваю каталог с исполняемым файлом, я не вижу этих двух файлов. Я помещаю в окно отладки, и оно сообщает, что оно действительно использует файлы, расположенные рядом с исполняемым файлом (который я не вижу).

Мне нужно время от времени удалять эти файлы при обновлении, но я считаю, что это невозможно. Я дошел до того, что запустил деинсталлятор и удалил каталог приложения, но при переустановке он все еще использует старый файл БД. Это на клиентском компьютере, поэтому я не уверен в истории этого.

Vista делает какие-то странные разрешения? Как я могу найти эти "скрытые" файлы?

1
Приложение работает нормально? Вы уверены, что файлы открываются и записываются? heavyd 14 лет назад 0
Да ... это работает отлично. Единственное странное поведение возникает при запуске новой версии программы установки, которая пытается удалить файл .db. Это удаление никогда не происходит, что делает обновление схемы основной проблемой. brianz 14 лет назад 0
Программа, которая пишет в программные файлы, не совместима с Windows. kinokijuf 12 лет назад 0

1 ответ на вопрос

1
Nifle

На vista и windows7 директория "Program Files" недоступна для записи приложениями. Вместо этого они прозрачно создают файлы где-то под
C:\Users\brianz\AppData\VirtualStore\
(при условии, что ваше имя пользователя brianz)

Больше кровавых подробностей

Спасибо! Всякий раз, когда я покидаю свою маленькую зону безопасности * nix, эти «простые» вещи совершенно сбивают меня с толку. brianz 14 лет назад 0