Один файл имеет разные даты и содержимое в проводнике Windows и far. Что это может быть

Сравнить дату файла rxStrUtils.pas. В Far Manager и проводнике windows один и тот же файл rxStrUtils.pas имеет разные даты. Это я бы пережил, но при просмотре в них находится не одинаковый текст. В Far тот, в который я вносил изменение, а в проводнике - исходный (смотрел в Notepad). Изменения вносились через IDE Delphi7. Более того, если я копирую файл в другой каталог с помощью Far, то копируется измененный текст, а если с помощью проводника - то исходный. Такое впечатление, что в одном и том же каталоге под одним и тем же именем хранятся разные файлы. Что невозможно. Никогда не сталкивался с подобной ситуацией. Хотелось бы услышать версии причин подобной ситуации и способов борьбы с ней. Спасибо.


Ответы (1 шт):

Автор решения: Pavel Mayorov

Вы напоролись на явление под названием "User Account Control Data Redirection".

Эта штука работает со старыми программами ("старость" определяется исходя из наличия т.н. манифеста) и перенаправляет запись в файлы, к которым нет доступа, в отдельную папку - обычно это C:\Users\%username%\AppData\Local\VirtualStore. Или, более коротко, %LOCALAPP­DATA%\Virtual­Store.

В вашем случае, и Delphi 7, и Far Manager оказались "старыми" - а потому они видят файлы, отредактированные друг другом. Проводник же - "новый" (ещё бы), и он эти изменения не видит.

Выйти из этого положения можно несколькими способами:

  1. Ничего не делать. Нет ничего плохого в том, что редактируемые вами файлы видны только вам- ради этого всё и затевалось. Delphi и Far Manager отлично видят друг друга, а Проводник не нужен. Ну и, если вам нужен Проводник, вы всегда можете открыть %LOCAL­APP­DATA%\Virtual­Store в нём напрямую.

  2. Запустить Delphi или Far Manager с правами администратора, если вам зачем-то нужно внести изменения для всех пользователей.

  3. Настроить права на файлы, чтобы их могли редактировать все пользователи (но зачем?).

  4. Поставить современный Far Manager (тогда он перестанет видеть то, что видит Delphi, а станет видеть то, что видит Проводник)

  5. Поставить Delphi в другую папку, и дать доступ всем пользователям (но зачем?)

  6. Отключить UAC

→ Ссылка