Ошибка с Wix DTF при создании более одного действия в одной сборке настраиваемых действий DTF - PullRequest
2 голосов
/ 26 февраля 2010

DTF не вызывает второе действие, если сборка настраиваемого действия имеет более одного действия Это всегда вызывает только первое действие. В качестве обходного пути я использую одно действие в одной сборке. Работает идеально всегда.

У вас есть идеи по этому вопросу?

public class CustomActions
{

    [CustomAction]
    public static ActionResult CustomAction1(Session session)
    {
        [some code]
    }


    [CustomAction]
    public static ActionResult CustomAction2(Session session)
    {
        [some code]
    }

}

Ответы [ 3 ]

1 голос
/ 19 января 2011

Возможно, это будет полезно для некоторых искателей, особенно для новичков .Net: дважды проверьте, что класс и статический метод ввода пользовательских действий общедоступны!

1 голос
/ 27 февраля 2010

Я никогда не сталкивался с этой проблемой, так как я постоянно объединяю пользовательские действия в одну сборку. Каждый метод будет экспортирован как точки входа типа 1, а затем вы создадите пользовательское действие для каждой экспортируемой функции. Установщик Windows вызывает CA, который вызывает функцию, которая запускает CLR и вызывает статический метод, на который указывает настраиваемое действие.

0 голосов
/ 27 февраля 2010

Это может показаться очевидным, но все же. Когда вы определяете пользовательские действия в файле wxs, вы указываете разные значения в атрибуте "DllEntry"? Этот атрибут указывает на метод, который на самом деле является вашим CA. Если вы копируете / вставляете определения пользовательских действий, вы можете просто забыть изменить DllEntry ...

...