Установщик WIX с несколькими записями в «Установка и удаление программ» - PullRequest
2 голосов
/ 03 марта 2009

Я разрабатываю установщик для Application Suite с использованием WIX, и структура следует:
Ядро приложения
| _ _ Flavor1
| _ _ Flavor2
| _ _ Flavor3

Application Core - это такой же продукт, как Visual Studio, а ароматы 1,2,3 являются его субпродуктами.

Вот моя проблема,
- В окне «Добавить программы удаления» должно быть 4 записи для Application Core, Flavor1, Flavor2 и, Flavor3.
- Я должен иметь возможность перезапустить установщик для добавления / удаления Flavor1, Flavor2 и Flavor3.

Ответы [ 3 ]

5 голосов
/ 04 марта 2009

Обновление: Обратите внимание, что, хотя Office отображается для установки отдельных функций, а не отдельных продуктов, фактически он устанавливает много отдельных продуктов, которые не отображаются в ARP. Добавлена ​​отдельная запись ARP для запуска установщика начальной загрузки, который затем добавляет, удаляет и обновляет существующие продукты, которых вы не видите в ARP.

Это должны быть функции, а не отдельные продукты. Возьмем, к примеру, пакет Microsoft Office. Если вы устанавливаете пакет, у вас есть только одна запись в «Установка и удаление программ», а Word, Excel, Powerpoint и т. Д. - это всего лишь «функции» из Microsoft Office, и вы обновляете их таким образом.

Однако некоторые из этих приложений можно приобрести отдельно с их собственными установщиками, и в этих случаях «Ядро приложения», как вы его указали, входит в состав каждого установщика с использованием общих компонентов, так что файлы не нужно устанавливать дважды и каждое приложение может быть установлено / удалено независимо друг от друга.

Вот небольшой отрывок из документации установщика Windows по Компоненты и функции (вы также можете прочитать Организация приложений в компоненты )

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

2 голосов
/ 03 марта 2009

Обычно это достигается путем установки одного продукта, поэтому одну запись в «Установка и удаление программ» можно изменить (выберите продукт, нажмите кнопку «Изменить»). Затем вы попадете в дерево элементов, где вы можете добавлять или удалять элементы.

Если отдельные записи являются жестким требованием, вам следует создать несколько MSI. Но тогда вы можете удалить «Application Core» в вашем примере, оставив остальные установленными, что вызовет проблемы с Flavors

0 голосов
/ 02 апреля 2009

Звучит так, будто вам нужны функции, поэтому Сандер получает мои + 1.

Но иногда вам могут потребоваться разные установки одного и того же продукта, например, учебная и тестовая версия, установленная на одном сервере. В этих случаях вам нужно найти другой подход: вот один , который я придумал (см. Ответ Create Live, ... ). Обратите внимание на редактирование, касающееся создания компонента для каждого файла и подстановочного знака guid, поскольку это упрощает процесс, т. Е. Не требуется трюки BeforeBuild / AfterBuild.

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