使用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。 一切都开始好起来了。
这些链接帮助我加快了速度:
- ‘useLegacyV2RuntimeActivationPolicy’在.NET 4配置中做了什么?
- http://www.marklio.com/marklio/PermaLink,guid,ecc34c3c-be44-4422-86b7-900900e451f9.aspx
作为KnightsArmy的答案的必然结果,当CustomAction元素上的DllEntry属性错误时,也会抛出此错误。 在我的情况下,我有一个拼写错误,我可以从日志中得到的唯一错误信息是臭名昭着的错误2896。