Вот мой сценарий:
У меня есть приложение WPF, которое я доставляю через ClickOnce. Приложение имеет несколько сред для нескольких клиентов (в настоящее время 9, но ожидается удвоение в ближайшем будущем).
Процесс, который я сейчас использую (в основном):
- Токен заменяет части app.config
- Токен заменяет части файла WiX, используемые при создании установщика MSI (включая сертификат подписи и отпечаток).
- Создайте решение
- Создайте установщик для конкретного клиента/среды
- Повторите для каждой комбинации клиент/среда.
Преимущество этого заключается в том, что для установки приложения достаточно просто запустить необходимый установщик. Однако недостатком является то, что если (когда) мне нужно создать новую среду, мне придется заново запускать весь процесс сборки с новым набором параметров конфигурации.
Как я могу сделать все это лучше?
Моя последняя мысль заключается в том, что я разделил свой процесс сборки, чтобы просто создать двоичные файлы. Затем проведите отдельный процесс упаковки, который извлечет соответствующие двоичные файлы, исправит конфигурации, (повторно) подпишет манифесты с помощью MAGE и т. д.
Это будет иметь постоянное преимущество «создать один раз, развернуть несколько раз», гарантируя, что, если потребуются новые среды, их можно будет перепаковать без пересборки двоичных файлов.
Звучит ли это как разумный подход? Есть ли у кого-нибудь руководство для такого сценария?
Спасибо