Что такое модули слияния и как они используются? - PullRequest
17 голосов
/ 26 июля 2010

Что такое модули слияния и как они используются? Я слышал, что это MSM-файлы, но никогда раньше не видел (я видел только MSI).

Используются ли они при создании файлов MSI? Распространяются ли они с коммерческим программным обеспечением (предположительно вместе с MSI-файлами?)

Какой смысл в них? Должны ли они скрывать реализацию программы установки для обычных компонентов сторонних производителей или компонентов Microsoft, которые необходимо устанавливать вместе с разработанным программным обеспечением (и, следовательно, распространять вместе)?

Спасибо!

1 Ответ

18 голосов
/ 26 июля 2010

MSI = Пакет установщика Windows

MSM = модуль слияния

Вот как объяснил мне один гуру установки: «MSI для EXE, MSM для LIB».

То есть пакет MSI является автономным пакетом установщика. Вы создаете пакеты MSI для распространения среди клиентов или для их прямой загрузки и запуска. Там, где MSM - это установочный пакет, который не может быть установлен напрямую - он должен быть включен в MSI. Например, среда выполнения Visual C (msvcrt90.dll и друзья) распространяется как модули слияния MSM. Если ваше приложение зависит от CRT, вы можете сослаться на Microsoft_VC100_CRT_x86.msm в MSI.

Существуют разные способы создания как пакетов установщика MSI, так и модулей слияния MSM. Одним из таких способов создания пакетов установки является использование набора инструментов WIX. Некоторые ссылки, которые могут быть интересны ниже:

http://wix.sourceforge.net/manual-wix2/overview.htm

http://wix.sourceforge.net/manual-wix2/authoring_merge_modules.htm

...