использование CustomActionAttribute в классах System.Configuration.Install.Installer - PullRequest
1 голос
/ 01 апреля 2011

Можно ли использовать CustomActionAttribute в классах, которые наследуются от System.Configuration.Install.Installer? Я хочу, чтобы моя библиотека классов поддерживала проект установки WiX и Visual Studio.

Ответы [ 2 ]

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

Причины не делают это: вы не можете иметь методы с одинаковыми именами в вашей сборке пользовательских действий вызовы методов пользовательских действий в WiX И методы DTF, и методы проекта настройки VS отличаются в сигнатуре. Кроме того, как я понял, центры сертификации проекта установки VS не используют объект Session, в отличие от CA DTF.

1 голос
/ 03 апреля 2011

Я не вижу непосредственной причины, по которой вы не могли этого сделать. Одним из препятствий является то, что управляемые функции Wix CA должны быть объявлены public static, поэтому вам, вероятно, потребуется преобразовать большую часть вашей логики в функции, которые могут вызываться как функциями установки / удаления, так и функциями CA Wix.

Если бы вы сделали это, я бы порекомендовал создать проект из шаблона Votive Managed Custom Action в Visual Studio, а затем вручную добавить класс установщика в проект. Затем вы можете определить статические функции в классе установщика, которые могут быть представлены как CA, используя атрибут CustomAction.

...