Error 2896 using a WiX C#/.NET 4 custom action

独自空忆成欢 提交于 2019-11-28 20:47:39
KnightsArmy

I figured it out by running my msi with the /lvx option to get a verbose logging. I also had to move my action to the InstallExecuteSequence section to get a meaningful error message. When the call to the CA was in the PushButton nothing meaningful was returned.

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

System.BadImageFormatException: Could not load file or assembly 'JudgeEdition' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.

I changed the useLegacyV2RuntimeActivationPolicy attribute to true. Everything started working nicely.

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

These links helped get me up to speed:

Tedford

As a corollary to KnightsArmy's answer this error is also thrown when the DllEntry attribute on the CustomAction element is wrong. In my case I had a typo and the only error information I could get out of the log was the infamous error 2896.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!