Вытащить версию из .exe файла

Возникла необходимость проверки версии .exe файла.
В контекстном меню -> детали -> Версия файла винда видит версию. Каким образом ее можно вытащить?

1 лайк

Как вариант, можно запустить внешнюю тулу и скормить ей файл, например Sigcheck

Нужно использовать win32api Python for Windows Extensions download | SourceForge.net документация здесь http://docs.activestate.com/activepython/2.4/pywin32/win32api__GetFileVersionInfo_meth.html

О, спаисбо за советы, я так понял win23api не идет в стандартную поставку?

Так точно, нужно качать и устанавливать самостоятельно.

Миша, конкрето win32api я не могу найти, все что есть - это pywin32.

Установил его с exe-шника - изменений никаких, Питон не видит модулей win32api, pywin23…

Ну я вот взял pywin32-218.win32-py2.7.exe
Дальше выполняю код и все хорошо

from win32api import GetFileVersionInfo
info = GetFileVersionInfo("c:\KiesSetup.exe", "\\")
print info
from win32api import LOWORD, HIWORD
print HIWORD (ms), LOWORD (ms), HIWORD (ls), LOWORD (ls)
{u'FileFlagsMask': 63, u'FileType': 2, u'FileVersionMS': 1048576, u'FileVersionLS': 400, u'Signature': -17890115, u'File Subtype': 0, u'FileFlags': 0, u'ProductVersionLS': 0, u'FileDate': None, u'ProductVersionMS': 1048576, u'FileOS': 4, u'StrucVersion': 65536}
16 0 0 400

Может быть ты что-то не то установил?

Странно, установил [pywin32-218.win-amd64-py2.7][1]
[1]: Download pywin32-218.win-amd64-py2.7.exe (Python for Windows Extensions)
версию… Что еще проще установки с exe-файла…

Как ты запускаешь, и что ты запускаешь? Можно описать детально?

Интересная ситуация, перегрузился - запустил еще раз. На этот раз открылся совершенно другой инсталлер, все установилось, и работает. Спасибо ).