Как выполнить пользовательское действие WiX файл DLL с зависимостями

Я, вероятно, рекомендовал бы разработать Ваше приложение, таким образом, переопределения "OnStart" и "OnStop" в службе Windows просто называют методы на блоке библиотеки классов. Тем путем можно автоматизировать модульные тесты против методов библиотеки классов, и дизайн также абстрагирует бизнес-логику от реализации службы Windows.

В этом сценарии, тестируя "OnStart" и сами методы "OnStop" в контексте службы Windows тогда был бы интеграционный тест, не что-то, что Вы автоматизируете.

20
задан Peter Mortensen 16 December 2012 в 14:59
поделиться

3 ответа

DTF в наборе инструментов WiX имеет механизм для включения вашей сборки настраиваемого действия и всех ее ссылок в один двоичный файл (в основном самораспаковывающуюся DLL). Я не пишу управляемые настраиваемые действия (C / C ++ создает настраиваемые действия с меньшим количеством зависимостей и увеличивает вероятность успеха), но предполагается, что он просто работает при сборке в VS.

24
ответ дан 30 November 2019 в 00:23
поделиться

You can use to add whatever files are needed to run custom actions. That should go for any 3rd party dlls you require too. Files included using the binary element are only used during installation and will not be regarded as part of the application being installed.

Update: the connection between a CustomAction and a Binary is done by referencing the binary from the custom action using the BinaryKey attribute.

Unless you can have multiple BinaryKey attributes (I have not tried this and does not directly see any support for this in the MSI custom action table) you can only have a custom action depending on one binary. That binary will thus need to carry all necessary dependencies within itself.

That said, if your dlls are all .Net assemblies, an idea would be to use ILMerge to package them into one single assembly.

4
ответ дан 30 November 2019 в 00:23
поделиться

Установите свойство «Копировать локальное» для жесткой ссылки на True в Visual Studio.

4
ответ дан 30 November 2019 в 00:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: