wix - wix customaction 与 Publish Event="DoAction" 一起使用时会出现错误 2896
问题描述
wxs 文件
<Dialog Id="InputParameters" Width="370" Height="270" Title="!(ll.MyDlg_Title)">
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)" >
<Publish Event="DoAction" Value="ValidateParameters" >1</Publish>
</Control>
<Dialogue>
<CustomAction Id="ValidateParameters" BinaryKey="my_dll.CA.dll" DllEntry="ValidateParametersFunc" Execute="immediate" />
CustomAction.cs 文件
[CustomAction]
public static ActionResult ValidateParametersFunc(Session session)
{
session.log("perform validation");
return ActionResult.Success;
}
CustomAction.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" />
<supportedRuntime version="v2.0.50727"/>
<configuration>
当用户单击 InputParameters Dialogue 上的 Next 按钮时,我正在尝试执行验证功能。我的所有其他自定义操作都包含在 InstallExecuteSequence 中。如果我使用 VBScript 使用以下 customAction 而不是上面的函数 ValidateParametersFunc 来显示弹出窗口,那么效果很好。
<CustomAction Id="ValidateEnrollmentParameters" Script="vbscript" Execute="immediate"> <!CDATA[msgbox "You clicked?"]]></CustomAction>
但我想执行函数ValidateParametersFunc。我收到错误:
Action 18:58:13: ValidateParametersFunc.
Action start 18:58:13: ValidateParametersFunc.
MSI (c) (C4:20) [18:58:13:233]: Invoking remote custom action. DLL: C:\Users\MyUser\AppData\Local\Temp\2\MSI8187.tmp, Entrypoint: ValidateParametersFunc
MSI (c) (C4:A4) [18:58:13:236]: Cloaking enabled.
MSI (c) (C4:A4) [18:58:13:236]: Attempting to enable all disabled privileges before calling Install on Server
MSI (c) (C4:A4) [18:58:13:236]: Connected to service for CA interface.
Action ended 18:58:13: ValidateEnrollmentParameters. Return value 3.
MSI (c) (C4:04) [18:58:13:807]: Note: 1: 2205 2: 3: Error
MSI (c) (C4:04) [18:58:13:807]: Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 2896
DEBUG: Error 2896: Executing action ValidateParametersFunc failed.
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2896. The arguments are: ValidateParametersFunc, ,
CustomActions 项目的目标框架是:v4.6.1 有人可以帮忙吗? 我已经尝试了互联网上给出的所有内容,但仍然无法弄清楚如何解决这个问题。
解决方案
推荐阅读
- javascript - 用于搜索唯一对象并从值中提取总和的 JavaScript
- count - 使用 INNER JOIN 进行计数和求和
- three.js - Three.js 和应用纹理
- python - 当我使用切片语法`mylist[:] = [mylist, mylist, ...]` 将带有自引用的列表分配给列表副本时会发生什么?
- android - 如何从textview获取drawable
- javascript - 你能用 lodash debounce 取消异步函数吗?
- javascript - 输入日期后无法编辑正则表达式的日期格式
- javascript - 检查数组是否是另一个数组的子集,并在最后使用 js/chai/mocha 列出所有差异以及断言失败
- java - 在这种情况下,我使用 BufferedReader 是否有任何性能提升?
- javascript - 如何为所有职位修复此通知:已修复;