Методы создания пользовательских установщиков wix для нескольких клиентов - PullRequest
2 голосов
/ 11 ноября 2011

Я сейчас создаю установщик для клиента, но я знаю, что через пару недель мне придется создать еще один для другого клиента. Какие методы люди используют, чтобы держать вещи в порядке? Единственные различия будут заключаться в том, включать ли определенные библиотеки в установщик и какой исходный файл конфигурации включать.

Я думал о создании основного файла wxs, в котором содержится большая часть информации об установке общего ресурса, и вторичного файла, который будет настроен для клиента и который будет контролировать, какие компоненты должны быть включены.

Либо это, либо переписать основной файл wxs для каждого клиента, но это означает, что для каждого клиента необходимо сохранить полный файл wxs с большим количеством дублирующейся информации.

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

Спасибо за любую помощь, Нил.

1 Ответ

0 голосов
/ 11 ноября 2011

Решение, которое вы выберете, будет зависеть от того, насколько значительными будут различия между различными установщиками клиентов и сколько разных клиентов вам придется поддерживать.

Если вам нужно всего лишь поддерживать 2-3 установщика клиента с максимум 10 файлами переменных между ними, просто создайте один общий файл .wxs, который вводит специфичный для клиента .wxi на основе параметров времени сборки. Достаточно просто вручную создать и поддерживать 2-3 клиентских .wxi файла.

Если вам нужно обслуживать больше клиентов, или есть 50 различных возможных перестановок файлов dll / config, я бы использовал WiX heat.exe инструмент "харвестер". Вы должны создать промежуточный каталог для каждого клиента, который вы должны поддерживать, который содержит файлы dlls / config, необходимые для каждого установщика, использовать высокую температуру, чтобы собрать каждый каталог в отдельные файлы .wxs, а затем создать один общий файл .wxs, который будет компилироваться каждый из различных собранных файлов .wxs для создания установщиков клиента. Это решение требует, чтобы процесс сборки был немного сложнее, но это проще, чем пытаться поддерживать 20 различных клиентских wix-файлов.

...