Установщик Windows в формате MSI - PullRequest
11 голосов
/ 23 декабря 2009

Не могу найти спецификацию формата MSI. Это говорит о том, что это открытый стандарт, но я не вижу никакой документации - только кусочки информации здесь и там.

Я хочу изменить установщик .msi, но сначала хочу понять, что он делает.

Ответы [ 7 ]

10 голосов
/ 21 января 2010

MSI-файлы - это структурированное хранилище COM, которое описано здесь: Структурированное хранилище (Windows) .

10 голосов
/ 29 декабря 2009

Бинарный формат не открыт, я бы даже не назвал его стандартом.

Однако я предполагаю, что вас интересует не формат файла (недокументированный), а таблицы, действия, последовательности и т. Д., Которые видны при взаимодействии с MSI через SDK установщика Windows, API, Orca и т. д.

Все описано в документации SDK, однако по какой-то причине поисковые системы не очень высоко оценивают документацию. Кроме того, вы больше не можете загружать Windows Installer SDK отдельно, теперь он входит в состав Windows SDK.

5 голосов
/ 17 августа 2012

Формат файла MSI не открыт и фактически недокументирован, однако API, необходимый для доступа к этим файлам, является частью SDK установщика Windows . Эта ссылка описывает как функции API, необходимые для доступа и изменения баз данных (файлов) MSI, так и содержимое таблиц в базе данных MSI.

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

  • ORCA
  • InstEd
  • InstallShield также имеет редактор MSI

Если вы действительно хотите узнать больше о деталях внутреннего формата файлов MSI, прочитайте эти две статьи блога Роба Меншинга (автора WiX)

5 голосов
/ 23 декабря 2009

Похоже, вы неправильно поняли обещание Microsoft.

Открытая спецификация Promise

Опубликовано: 12 сентября 2006 г. Пересмотрено: 15 февраля 2007

Microsoft безоговорочно обещает не заявлять о необходимости Microsoft Иски против вас за создание, использование, продажу, выставление на продажу, импортировать или распространять любую реализацию в той степени, в которой она соответствует к Покрываемой спецификации («Покрытая реализация»), при условии следующий. Это личное обещание непосредственно от Microsoft, и вы признаете в качестве условия получения выгоды от этого, что нет Права Microsoft получены от поставщиков, дистрибьюторов или в противном случае в связи с этим обещанием. Если вы подаете, поддерживать или добровольно участвовать в иске о нарушении патента против Microsoft реализация такой покрытой спецификации, то это личное обещание не применяется в отношении любого Покрываемого Внедрение той же самой Крытой Спецификации, созданной или используемой вами. Чтобы уточнить, «Необходимые претензии Microsoft» являются те претензии Патенты, принадлежащие Microsoft или контролируемые Microsoft, необходимые для реализовать только необходимые части покрытой спецификации, которые описаны подробно, а не просто упоминаются в таких Спецификация. «Охватываемые спецификации» перечислены ниже.

Это обещание также не является гарантией (i) что любой из Microsoft выданные патентные претензии покрывают Покрытую реализацию или являются или (ii) что Покрытая реализация не будет нарушать патенты или другие права интеллектуальной собственности любой третьей стороны. нет другие права, кроме тех, которые прямо указаны в этом обещании, считается предоставленным, отмененным или полученным косвенно, исчерпанием, эстоппель или иным образом.

Полный список открытых спецификаций можно найти на

http://www.microsoft.com/openspecifications/en/us/programs/osp/default.aspx

Поскольку MSI не указан в списке, вы можете смело предполагать, что это частный стандарт и не будет доступен широкой публике.

3 голосов
/ 23 декабря 2009

Вы уверены, что формат базы данных .MSI необходим для изменения какого-либо установщика? Вы слышали об инструменте Orca? Если нет, то эта статья MS KB для вас:

http://support.microsoft.com/kb/255905

2 голосов
/ 23 декабря 2009

В моей работе с MSI эта ссылка Инструменты и советы для установщика Windows была очень полезной.

0 голосов
/ 29 июля 2013

Не забудьте MakeMSI , бесплатное приложение для создания файлов MSI.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...