Файлы совместимости

Обсуждение Total Commander. Установка, использование, настройка, решение проблем, скрытые функции. Обсуждение новых версий.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Ответить
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Файлы совместимости

Сообщение Batya »

Win 7 x32
TC 7.55a

Сегодня был озадачен.
TC не видит некоторые файлы (в данном случае в корне C:\). Естесственно, режим показа скрытых включён, исключения в настройках отключены.
Проверил, Far файлы видит.
Проводник файлы не видит. Случайно в проводнике увидел кнопку "Файлы совместимости". Проводник файлы увидел.

Посему вопрос - что такое "Файлы совместимости", и как их увидеть в TC?
Нет, я не сплю. Я просто медленно моргаю.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Ага, с этим я тоже сталкивался. Для некоторых старых программ виста и семерка творят жуткие вещи. Вместо того чтобы просто запретить им запись в, скажем, корень диска C:, они позволяют это сделать, но физически файлы создаются в другом месте, в специальной папке, в которой создается виртуальная структура диска с защищенными от записи директориями. Для реестра тоже вроде есть такая хрень.

Файлы хранятся по адресу:

Код: Выделить всё

C:\Users\<Юзер>\AppData\Local\VirtualStore\
При этом, эта папка соответствует корню диска C:. Для папок диска C: по этому пути создаются подпапки с соответствующими именами. Ну а упомянутая кнопка позволяет просмотреть эти файлы для текущей папки.

Каковы критерии программ, которые попадают под категорию, для которой эта штука используется, хрен знает. Замечено, что консольный архиватор 7-Zip под неё попадает. Т.е., например, при попытке создать архив в корне диска C: никакой ошибки не возникнет, архив будет успешно создан, его даже можно будет модифицировать, но нормальные программы его там никогда не увидят, т.к. на самом деле он будет располагаться в папке VirtualStore.

Эта папка входит в список папок, которые я заменяю точками соединения на физические папки на другом томие - чтобы отделить программы от данных (я все документы и нужные мне данные/настройки храню на другом томе, чтобы можно было беспрепятственно, скажем, делать и восстанавливать образ системного тома).
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

MVV
Спасибо!
Нет, я не сплю. Я просто медленно моргаю.
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

MVV писал(а):Каковы критерии программ, которые попадают под категорию, для которой эта штука используется, хрен знает.
Манифест в EXE-шнике.
Почему же, ё-моё, ты нигде не пишешь "ё"?
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Кстати, в своё время я писал маленькую утилитку для изменения начальной части пути, с её помощью можно упростить процесс перехода к нужной папке в тотале:

Код: Выделить всё

Path2Path.exe /C="%COMMANDER_PATH%\TOTALCMD.exe" /E /O /L /S C:\ "%USERPROFILE%\AppData\Local\VirtualStore"
"%P"
CaptainFlint писал(а):
MVV писал(а):Каковы критерии программ, которые попадают под категорию, для которой эта штука используется, хрен знает.
Манифест в EXE-шнике.
Всего-то... вообще не вижу в этом манифесте особого смысла, вполне можно обойтись без него. А тут вон оно как... Будем иметь в виду. :)
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

MVV писал(а):вообще не вижу в этом манифесте особого смысла, вполне можно обойтись без него.
Кстати, и настройки UAC в нём же хранятся (например, чтобы приложение всегда автоматом требовало повышения привилегий, как какой-нибудь regedit). И указание на использование приложением тем оформления. Но это так, к слову.
Почему же, ё-моё, ты нигде не пишешь "ё"?
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Ну про уровень прав я знаю - и мне не нравится, что программу, у которой стоит highestAvailable, нельзя запустить без повышения. А про темы оформления вообще не пойму - в манифесте ничего особенного не прописано, но без манифеста никаких тем нету. А что виртуализация записи включается именно для приложений без манифеста - не слышал.

Кстати, очень глупым считаю установку для regedit прав доступа highestAvailable - далеко не всегда требуется изменить системные параметры реестра, зачастую открываешь реестр (или запускаешь рег-файл) для внесения изменений исключительно в раздел текущего пользователя. А оно тупо запрашивает повышения, усиливая серьезность вносимых изменений.
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

MVV писал(а):А про темы оформления вообще не пойму - в манифесте ничего особенного не прописано, но без манифеста никаких тем нету.
Там версия common controls прописана.
MVV писал(а):А что виртуализация записи включается именно для приложений без манифеста - не слышал.
В Тотале в своё время был добавлен соответствующий элемент в манифесте. Старые версии при попытке записать в Program Files тихо перенаправляются в VirtualStore, а новые, где появилась эта запись, явным образом выдают ошибку с возможностью повторения операции с повышением прав.
Почему же, ё-моё, ты нигде не пишешь "ё"?
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

Кстати, а как Far эти файлы показывает в моём случае в корне C:\? Это винда ему выдаёт или он сам так формирует?
Если сам, то может быть и в TC полезно такую фичу иметь (по ключу\настройке, конечно)?
Нет, я не сплю. Я просто медленно моргаю.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Видимо, у FAR нет манифеста (как писал CaptainFlint) - т.е. винда считает его устаревшим приложением. Следовательно, ему можно писать в закрытые для записи директории и ветви реестра, и это будет отражаться лишь в виртуализованных хранилищах. В данной ситуации я бы назвал это скорее багом FARа, чем фичей. :)
Ответить