Как использовать Dynami c Named Instance с Wix + Burn - PullRequest
0 голосов
/ 05 мая 2020

У меня есть требование создать установщик, который позволит пользователям устанавливать несколько именованных экземпляров наших служб и приложений (например, Sql в стиле сервера).

Я видел, что продукт под названием AdvancedInstaller делает это и из того, что я прочитал, это будет достигнуто с помощью загрузчика, который собирает информацию и передает ее в MSI. Я предполагаю, что реализация Custom UI Burn должна иметь возможность делать то же самое, однако я не могу найти никаких примеров того, как это делать в точности или о том, как выполнить «поток» в MSI.

Если бы я хотел до go по этому маршруту, нужно ли мне по-прежнему указывать экземпляры в моих MSI?

В настоящее время существуют отдельные MSI для Windows Services, Application, а затем EXE-файла Bundle Bootstrapper, который позволяет выбирать службы для установить.

Спасибо

1 Ответ

1 голос
/ 05 мая 2020

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

http://blog.iswix.com/search?q=multiple+instance

Прочтите IS12, затем IS2009. Ожидайте много неработающих ссылок, поскольку Microsoft уничтожила их сайты. Вот ссылки 2020.

https://docs.microsoft.com/en-us/windows/win32/msi/installing-multiple-instances-of-products-and-patches

https://docs.microsoft.com/en-us/windows/win32/msi/authoring-multiple-instances-with-instance-transforms

https://docs.microsoft.com/en-us/windows/win32/msi/installing-multiple-instances-with-instance-transforms

При использовании встроенных преобразований вы ограничены любыми ProductNames, которые вы выбираете при их построении. Вы также можете динамически генерировать преобразования и применять их.

Стандартное приложение загрузчика WiX на самом деле не очень хорошо поддерживает все сценарии ios, о которых я говорил в статьях моего блога. В других инструментах, таких как InstallShield и AdvancedInstaller, есть больше. Возможно, вы захотите использовать такой инструмент, как InstallShield или Advanced Installer, или просто создать обычный MSI, который устанавливает шаблон приложения, а затем создает свой собственный инструмент управления экземплярами, который позволяет пользователю запускать несколько экземпляров вашего приложение.

Я консультант WiX / MSI / InstallShield / DevOps. Если честно, это был бы недешевый проект, если бы я процитировал его для клиента.

...