2008-11-17 4 views
3

У меня есть 3 проекта в моем решении, которые я хочу развернуть. Есть ли хороший и быстрый способ использования проектов настройки Visual Studio для развертывания всех трех приложений с использованием одной MSI и разрешения пользователю решить, какие приложения он хочет установить во время процесса установки?Как развернуть несколько проектов в одном MSI?

У меня есть проекты для трех отдельных приложений, у меня также есть всеобъемлющий проект настройки, который выводит эти три других проекта. Я на правильном пути или есть лучший способ?

ответ

4

Я думаю, вы, вероятно, хотите объединить модули. Accrding to MSDN:

Модуль слияния является стандартной функцией установщика Microsoft Windows, которая объединяет компоненты вместе с любыми связанными файлами, ресурсами, записями реестра и логикой установки. Вы можете использовать модули слияния для установки компонентов, совместно используемых несколькими приложениями. Вы не можете напрямую устанавливать модули слияния. Вы должны объединить их в проекты развертывания.

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

В вашем случае, каждое приложение будет модуль слияния и вам нужно будет предоставить некоторые UI, чтобы выбрать, какие приложения вы хотели бы установить. Для этого вы можете изменить один из шаблонов страниц по умолчанию.

0

У меня также есть аналогичное требование, однако я использовал модули слияния, но, похоже, не нашел способ выбрать, какой конкретный msm установить, а какие нет. Поскольку я понимаю, что нет свойства условия, которое можно установить на msm, интегрируя их с msi. Пожалуйста, дайте мне знать, если есть какой-то альтернативный способ делаю так ..

Спасибо, APN

+0

Вы не установите MSM. Msm интегрируется в msi. Из msi вы никогда не увидите, было ли это результатом msm. Но зачем вам это нужно? Три МСМ в одном MSI. Каждый в другой функции. Установите нужную функцию. Готово. – 2008-11-28 14:06:21

2

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

Что касается модулей слияния, ведущий разработчик WiX участвовал в раннем создании спецификаций Merge Module, и он рекомендует использовать .wixlibs сейчас. See Here

WiX v3 Docs

Смежные вопросы