Leia metadados de arquivos EXE, MSI e ZIP em Python no Linux

Estou escrevendo um script Python para indexar um grande conjunto de instaladores do Windows em um banco de dados.

Eu gostaria de saber como ler as informações de metadados (empresa, nome do produto, versão etc.) de arquivos EXE, MSI e ZIP usando o Python em execução no Linux.

Programas

Estou usando o Python 2.6.5 no Ubuntu 10.04 de 64 bits com o Django 1.2.1.

Encontrado até agora:

Utilitários de linha de comando do Windows que podem extrair metadados do EXE (como o arquivo de SysUtils) ou outros utilitários de CL individuais que funcionam apenas no Windows. Eu tentei executá-los através do Wine, mas eles têm problemas e não valeu a pena trabalhar e encontrar as bibliotecas e estruturas das quais esses utilitários de CL dependem e tentar instalá-los no Wine / Crossover.

Módulos Win32 para Python que podem fazer algumas coisas, mas não são executados no Linux (certo?)

Pergunta secundária:

Obviamente, alterar os metadados do arquivo alteraria o hashsum MD5 do arquivo. Existe um método geral de hash de um arquivo independente dos metadados, além de localizá-lo e lê-lo (por exemplo, como pular os primeiros 1024 bytes)?

Este é o meu primeiro post aqui no StackOverflow. Desde que comecei no meu trabalho mais recente como desenvolvedor de Python, fiquei incrivelmente impressionado com o Stackoverflow e ele sempre aparece no topo das pesquisas do Google para minhas consultas em Python / Django e tem respostas de alta qualidade. Elogios a esta comunidade.

questionAnswers(4)

yourAnswerToTheQuestion