вызовы пользовательских методов в WiX - PullRequest
0 голосов
/ 01 апреля 2011

Предположим, я написал библиотеку управляемых действий с настраиваемыми действиями, которую планирую использовать в проекте установки WiX.Библиотека классов содержит несколько классов, которые имеют методы «Install».Я планирую запустить эти методы из моего установочного пакета в качестве настраиваемого действия, поэтому я помечаю их все с помощью CustomActionAttribute.Что будет потом?Будет ли запущен только один метод, или все они, или компиляция проекта установки не удастся?Это вообще считается хорошей практикой?

Ответы [ 3 ]

2 голосов
/ 01 апреля 2011

Лучшей практикой было бы:

1) по возможности устранять ЦС (не изобретать колесо) 2) делать универсальный и декларативный ЦС (управляемый данными таблицы) 3) делать ЦС транзакционными при любойвозможно (откат поддержки) 4) Не используйте InstallUtil, вместо этого используйте WiX DTF 5) Поймите контекст пользовательских действий / вопросы планирования

0 голосов
/ 06 апреля 2011

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

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

Вы никогда не должны устанавливать вещи с настраиваемыми действиями, поскольку именно для этого и предназначен весь MSI.

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

...