6

Похоже, что в Windows 7 номер версии файла можно просмотреть только в диалоговом окне «Свойства», если это файл .dll/.exe ; если расширение имени файла .ax , оно не будет показывать номер версии файла.

Могу ли я изменить какие-либо настройки, чтобы включить это для файлов .ax ?

6 ответов6

2

Исполняемые форматы Windows (которые, среди прочего, находятся в файлах с расширениями EXE и DLL) имеют возможность специально хранить эти метаданные. Для любого другого типа файлов для этого требуются не только формат файла с такими метаданными, но и для проводника Windows, который знает, как вернуть метаданные. Например, если щелкнуть файл ODT в Windows 7, информация о нем не появится, если вы не установили OpenOffice.org или LibreOffice, которые регистрируют компонент, который Windows Explorer использует для отображения информации, такой как автор документа. и заголовок в окне проводника.

2

Просто используйте это расширение оболочки, которое возвращает вкладку старой версии XP в Explorer:

Windows 7 Файл-Свойства "Версия" Расширение вкладки Shell

Теперь вы можете увидеть информацию о версии файла .ax файлов.

1

Проблема, которую вы поднимаете, очень загадочная.
Ниже я перечислю то, что я сделал, хотя без реального ответа, только предположение.

Как вы говорите, "Версия файла" отображается только для .dll, но не для .ax, хотя .ax обозначает dll, которая реализует кодек.

Я переименовал .ax в .dll и, к своему удивлению, обнаружил, что "Версия файла" теперь отображается там, где раньше не было, как в "Свойствах", так и во всплывающем окне.

Следующая остановка была в реестре, при попытке сравнить HKEY_CLASSES_ROOT\.dll с HKEY_CLASSES_ROOT\.ax . Еще один сюрприз: HKEY_CLASSES_ROOT\.ax не существует.

Ах, ха! Я немедленно экспортировал HKEY_CLASSES_ROOT\.dll , заменил все вхождения dll на ax , повторно импортировал обратно в реестр и проверил существование HKEY_CLASSES_ROOT\.ax , теперь идентичного HKEY_CLASSES_ROOT\.dll .

Результат: абсолютно ничего. Проводник по-прежнему отказывается отображать "Версия файла" для .ax.

Еще одно: чтобы заставить Explore отобразить "Версия файла", щелкните правой кнопкой мыши заголовок столбца, выберите «Еще ...» и выберите "Версия файла". Результат: Версия не отображается для .ax, если она не переименована в .dll или .exe.

Единственный вывод, который я могу предложить, это то, что отображение "Версия файла" встроено в саму программу Explorer для известных исполняемых расширений файлов, которые являются только .dll и .exe.

При составлении этого списка Microsoft, к сожалению, полностью забыла о .ax, а также о .scr (dll используется для заставки).

(Все тестирование проводилось под Windows 7.)

0

Я не знаю, будет ли он работать с файлами .ax, но Sigcheck от Sysinternals - это то, что я использую для отображения исполняемой (exe/DLL) версии и описания из командной строки. Попробуйте, это всего лишь 114KB.

редактировать
Sigcheck работает и с файлами .ax. Образец вывода:

sigcheck -a CoreAVCDecoder.ax
Sigcheck v1.71 - File version and signature viewer
Copyright (C) 2004-2010 Mark Russinovich
Sysinternals - www.sysinternals.com

C:\Program Files\CoreCodec\CoreAVC Professional Edition\CoreAVCDecoder.ax:
        Verified:       Unsigned
        File date:      1:26 AM 12/19/2009
        Publisher:      CoreCodec
        Description:    CoreAVC DirectShow Video Decoder
        Product:        CoreAVC Video Decoder
        Version:        2.0.0
        File version:   2.0.0
        Strong Name:    Unsigned
        Original Name:  CoreAVCDecoder.ax
        Internal Name:  CoreAVCDecoder
        Copyright:      Copyright ⌐ 2005-2009 CoreCodec, Inc.
        Comments:       http://www.coreavc.com

Изменить 2:
Просто чтобы быть понятным, не все DLL/Exe содержат блок ресурсов WinPE, где хранится информация о версии. Если это так, вы не увидите вкладку «Версия» для этих файлов. Вы можете использовать Sigcheck, чтобы подтвердить это. Если Sigcheck не может отобразить информацию о версии файла, это означает, что конкретный файл не имеет надлежащего блока ресурсов.

0

Проводник Windows отказывается извлекать информацию из формата файла, даже после изменения HKEY_CLASSES_ROOT\SystemFileAssociations\.ax!FullDetails, чтобы свойство версии файла отображалось на вкладке сведений.

Похоже, вам нужен сторонний обработчик свойств для типа файла или расширение оболочки, которое отображает информацию в другом месте (обработчик предварительного просмотра, обработчик листа свойств и т.д.). Один из предложенных magicandre1981 - такой обработчик листов свойств.

0

Вы должны не только скопировать HKEY_CLASSES_ROOT\.dll (и переименовать соответственно). Вам также необходимо скопировать и переименовать ключ HKEY_CLASSES_ROOT\SystemFileAssociations\\.dll .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .