首页 > 解决方案 > 安装期间未执行 CPP DLL CustomAction 代码

问题描述

我有一个基本的 MSI 项目,因为我从 DLL 调用 CPP 自定义操作。但它因以下错误而失败。

CustomAction 返回实际错误代码 1157(请注意,如果翻译发生在沙箱内,这可能不是 100% 准确)

当我在 EventViewer 中签入时,出现以下错误。

DCOM 无法使用任何配置的协议与计算机通信;由 PID 94c (C:\Windows\system32\ServerManager.exe) 请求

我怀疑这是 DCOM 或 VC++ 可再发行组件的问题。我也从防火墙启用了 DCOM 规则,但安装仍然失败并出现上述错误。这个问题是因为系统 DLL 的某些损坏吗?如何找到此问题的根本原因和解决方案。

标签: c++windows-installerinstallshieldcustom-actiondcom

解决方案


1157 是一个依赖问题,获取依赖 Dll 的完整列表的最简单方法之一是获取依赖 Walker 程序并在您的 Dll 上运行它。

http://www.dependencywalker.com/

您可能依赖于通用 C 运行时,我认为它与 VC++ 运行时是分开的。这似乎是一个常见问题,因为它因操作系统和已安装的更新而异。


推荐阅读