| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [Qt] Не удаляется файл в Windows Vista |
| Автор: dencat 29.1.2010, 19:44 | ||||
| Возникла проблемка. Приложение, написанное на Qt, создает файл ( копирует из ресурса QFile::copy или просто записав данные
здесь это не важно ), но потом не может его ни удалить (QFile::remove) ни перезаписать ( если запустить программу заново, но так, чтобы она другие данные записывала в файл). Причем это наблюдается только в Vist'e, под XP работает нормально. Не подскажите, куда рыть? P.S. перед операцией над файлами изменяю права:
|
| Автор: andrew_121 29.1.2010, 19:51 |
| такое случается когда файлы создаешь/удаляешь в системных папках. как исправить - не создавать их там. другого способа не знаю. |
| Автор: dencat 29.1.2010, 19:52 |
| Записывается все в C:/Program Files/XXX/ |
| Автор: andrew_121 29.1.2010, 20:03 |
| ну вот |
| Автор: ecspertiza 30.1.2010, 11:18 |
| Вообще в висте это проблема, у меня даже была проблема когда я не мог данные в БД добавить, а все из-за ее якобы безопасности, попробуй сначала руками права на файл выставь, или покури про Disable UAC. http://www.thg.ru/software/windows_vista/windows_vista-06.html http://www.petri.co.il/disable_uac_in_windows_vista.htm |
| Автор: Amp 30.1.2010, 12:36 |
| Зачем писать в Program Files? Если пользователь сидит под ограниченной учеткой и запись кроме как в %HOME% запрещена везде, что будем делать? |
| Автор: dencat 30.1.2010, 18:06 | ||
А если пользователь сам выбирает, куда записывать файл и, по привычке, укажет program files. |
| Автор: dencat 31.1.2010, 11:26 |
| Ну да ладно, разговор то не об этом Дело в том, что программа может записать файлы в директорию, а удалить/перезаписать уже нет... |
| Автор: Amp 31.1.2010, 14:59 |
| Дык, как сказали выше - директория особенная + смешные потуги Висты следить за безопасностью. Я за озвученный вариант - не писать в системные каталоги |