WIX 自定义操作执行失败

Posted

技术标签:

【中文标题】WIX 自定义操作执行失败【英文标题】:WIX Custom Action Execution failed 【发布时间】:2013-07-09 06:40:40 【问题描述】:

我创建了一个设置来在数据库上执行脚本。但是当我尝试运行设置时,我收到了以下错误,我从日志中提取了该错误。

Doing action: VerifyConnection Action 12:03:17: VerifyConnection.  
Action start 12:03:17: VerifyConnection. MSI (c) (38:E0) 
[12:03:17:739]: Invoking remote custom action. DLL: C:\Users\adityak\AppData\Local\Temp\MSI4F99.tmp, Entrypoint: VerifyConnection MSI (c) (38:A4) [12:03:17:741]: Cloaking enabled. MSI (c) (38:A4) 
[12:03:17:741]: Attempting to enable all disabled privileges before calling Install on Server MSI (c) (38:A4) 
[12:03:17:742]: Connected to service for CA interface. MSI (c) (38:54) 
[12:03:17:788]: Note: 1: 1723 2: VerifyConnection 3: VerifyConnection 4: C:\Users\adityak\AppData\Local\Temp\MSI4F99.tmp  Error 1723. There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor.  Action VerifyConnection, entry: VerifyConnection, library: C:\Users\adityak\AppData\Local\Temp\MSI4F99.tmp  MSI (c) (38:54) 
[12:03:19:186]: Product: CRMnext -- Error 1723. There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor.  Action VerifyConnection, entry: VerifyConnection, library: C:\Users\adityak\AppData\Local\Temp\MSI4F99.tmp

Action ended 12:03:19: VerifyConnection. Return value 3.
DEBUG: Error 2896:  Executing action VerifyConnection failed

任何想法如何解决这个问题???

【问题讨论】:

根据错误消息“无法运行完成此安装所需的 DLL。”你有没有试过找到这里提到的 DLL? 我在我的自定义操作项目的构建后事件中使用了一个使用 makeSFxCA.exe 的 dll 包。在调用 VerifyConnection 操作时,它需要的 dll 可能不可用。 【参考方案1】:
    确保您的操作具有正确的签名;特别是该方法需要是“公共的”和“静态的”,即类似于“公共静态 ActionResult doSomething(Session session)”的东西 使用“CustomAction”属性标记方法,以便导出 在处理在一个 dll 中实现的多个自定义操作时,请确保您没有遇到已知的 MakeSfxCA 错误(参见 http://wixtoolset.org/issues/4502/ 或 Adding a new Custom Action to a project prevents an existing Custom Action from being run)

【讨论】:

以上是关于WIX 自定义操作执行失败的主要内容,如果未能解决你的问题,请参考以下文章

Wix Remove 自定义操作失败

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

修改数据库时 WiX 工具集自定义操作失败

Wix - 自定义操作返回代码 - 处理

如何在 WiX 中执行仅在安装或卸载时执行的自定义操作?

Wix 的 VC++ 自定义操作