Что нового

Удаление(замена) файла в @ProgramFilesDir в Windows 7

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
Столкнулся с такой проблемой.
Нужно заменить файл на новую версию. На Windows XP функция
Код:
FileMove($file, @ProgramFilesDir & "\folder\" & $file, 1)
отрабатывает без вопросов и файл перемещается с перезаписью, а на Windows 7 файл не заменяется и вопросов система никаких не задает, т.е. скрипт отрабатывает без ошибок, но файл остается прежний. Если вручную удалить старую версию файла, то новая версия перемещается без проблем. Как поступить в данной ситуации? И будет ли работать
Код:
FileDelete(@ProgramFilesDir & "\folder\" & $file)
в Windows 7? К сожалению, не могу проверить.
Спасибо.
 

SyDr

Сидра
Сообщения
651
Репутация
158
Если UAC врублен - добавь #RequireAdmin
Если же используются файлы совместимости - меняй путь на что-то типа:
C:\Users\<UserName>\AppData\Local\VirtualStore\Program Files\<Program folder>

В Win7 запись в Program Files без прав администартора запрещена (а чтобы не возикало ошибок - происходит перенаправление на Virtual Store)
 
Автор
madmasles

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
Ставлю Windows 7 и, может быть, вопросы сами отпадут.
 
Верх