使用WiX C#/ .NET 4自定义操作时出现错误2896

我想在WiX中使用我的第一个自定义操作,我得到:

错误2896:执行操作CustomActionTest失败。

我使用的是Visual Studio 2010,WiX 3.5,64位Windows 7旗舰版,.NET Framework 4。

以下是我认为的相关部分:

   1 CLIENT_DESC_VALID = "0" CLIENT_DESC_VALID = "1"  

从行动:

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

以及自定义操作的配置文件:

      

最后,我在我的WiX项目中使用了项目引用来进行自定义操作。 我不确定我做错了什么。

我通过使用/ lvx选项运行我的msi以获得详细的日志记录来解决这个问题。 我还必须将我的操作移动到InstallExecuteSequence部分以获取有意义的错误消息。 当对Bu的呼叫在PushButton中时,没有返回任何有意义的内容。

    

System.BadImageFormatException:无法加载文件或程序集“JudgeEdition”或其依赖项之一。 此程序集由比当前加载的运行时更新的运行时构建,无法加载。

我将useLegacyV2RuntimeActivationPolicy属性更改为true。 一切都开始好起来了。

      

这些链接帮助我加快了速度:

作为KnightsArmy的答案的必然结果,当CustomAction元素上的DllEntry属性错误时,也会抛出此错误。 在我的情况下,我有一个拼写错误,我可以从日志中得到的唯一错误信息是臭名昭着的错误2896。