nozd
@nozd
C#

Как проанализировать *.msi на Python?

Нужно через Python получить информацию о содержимом *.msi-файла: кол-во, названия и размер вложенных файлов. Как это сделать? Гугление и msilib что-то ничего внятного не дали.

P.S. Например, *.msi-файл можно вручную можно открыть, как архив. Это позволяет увидеть вложенные файлы и нужную информацию по ним. Вот такую информацию хотелось бы получить программно на Python.

60545ee55e411449277910.png
  • Вопрос задан
  • 185 просмотров
Пригласить эксперта
Ответы на вопрос 1
А чем msilib не подходит?
Просто запросите из базы msi все что необходимо:
dbobject = msilib.OpenDatabase(path, msilib.MSIDBOPEN_READONLY)
view = dbobject.OpenView("SELECT * FROM File")
file_name = rec.GetString(3)


3 в запросе GetString наугад. Нужно предварительно выполнить GetFieldCount и перебором найти все необходимые поля. Либо сразу в SELECT указать список необходимых. Вот описание таблицы File https://docs.microsoft.com/en-us/windows/win32/msi...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы