Вопрос

Я пытаюсь использовать свои первые пользовательские действия в Wix, и я получаю:

Ошибка 2896: выполнение действий Customactiontest не удалось.

Я использую Visual Studio 2010, WIX 3.5, 64-битный Windows 7 Ultimate, .NET Framework 4.

Вот что я думаю, являются соответствующими разделами:

<Binary Id="JudgeEditionCA" SourceFile="..\JudgeEditionCA\bin\Debug\JudgeEdition.CA.dll" />
<CustomAction Id="CustomActionTest" BinaryKey="JudgeEditionCA" DllEntry="CustomActionOne" Execute="immediate"/>

<Control Id="Next" Type="PushButton" X="248" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)" >
    <Publish Event="DoAction" Value="CustomActionTest">1</Publish>
    <Publish Event="DoAction" Value="InvalidClientDesc">CLIENT_DESC_VALID = "0"</Publish>
    <Publish Event="NewDialog" Value="VerifyReadyDlg">CLIENT_DESC_VALID = "1"</Publish>
</Control>

От действия:

namespace JudgeEditionCA
{
    public class CustomActions
    {
        [CustomAction]
        public static ActionResult CustomActionOne( Session session )
        {
            return ActionResult.Success;
        }
    }
}

И файл конфигурации из пользовательского действия:

<configuration>
    <startup useLegacyV2RuntimeActivationPolicy="false">
        <supportedRuntime version="v4.0" />
    </startup>
</configuration>

И, наконец, я использовал ссылку на проект в моем проекте WIX к пользовательству. Я не уверен, что я делаю не так.

Это было полезно?

Решение

Я понял его, запустив свой MSI с помощью параметра / LVX, чтобы получить многолетний журнал. Мне также пришлось переместить свои действия в раздел InstallexEcutesequence, чтобы получить значимое сообщение об ошибке. Когда звонок к CA был в толчковом пушке, ничего особенного был возвращен.

<InstallExecuteSequence>
    <Custom Action='CustomActionTest' After='InstallFinalize' />
</InstallExecuteSequence>

System.badimageFormatexception: не удалось загрузить файл или сборку «justedition» или одну из его зависимостей. Эта сборка построена за счет времени выполнения, чем в данный момент загруженного текущего времени выполнения и не может быть загружена.

Я изменил атрибут USELEGATYV2RUNTIMACTICATICPOLICY. Все начало работать красиво.

<configuration>
    <startup useLegacyV2RuntimeActivationPolicy="true">
        <supportedRuntime version="v4.0" />
    </startup>
</configuration>

Эти ссылки помогли заставить меня до скорости:

Другие советы

Как следствие до Рыцарьответ Эта ошибка также брошена, когда Dlllentry. атрибут на то Настройка Элемент не прав. В моем случае у меня была опечатка, а также единственная информация об ошибке, которую я мог бы выбраться из журнала, была печально известной ошибкой 2896.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top