c++ - 安装期间未执行 CPP DLL CustomAction 代码
问题描述
我有一个基本的 MSI 项目,因为我从 DLL 调用 CPP 自定义操作。但它因以下错误而失败。
CustomAction 返回实际错误代码 1157(请注意,如果翻译发生在沙箱内,这可能不是 100% 准确)
当我在 EventViewer 中签入时,出现以下错误。
DCOM 无法使用任何配置的协议与计算机通信;由 PID 94c (C:\Windows\system32\ServerManager.exe) 请求
我怀疑这是 DCOM 或 VC++ 可再发行组件的问题。我也从防火墙启用了 DCOM 规则,但安装仍然失败并出现上述错误。这个问题是因为系统 DLL 的某些损坏吗?如何找到此问题的根本原因和解决方案。
解决方案
1157 是一个依赖问题,获取依赖 Dll 的完整列表的最简单方法之一是获取依赖 Walker 程序并在您的 Dll 上运行它。
http://www.dependencywalker.com/
您可能依赖于通用 C 运行时,我认为它与 VC++ 运行时是分开的。这似乎是一个常见问题,因为它因操作系统和已安装的更新而异。
推荐阅读
- c# - QuickFixN 不发送交易时段的登录信息
- c# - 在 C#.Net 中将文件上传到 zoho 联系人
- batch-file - 只允许数组窗口批处理文件中的唯一条目
- sqlite - 如何使用 FTS3 优化加入(在文本上)
- kubernetes - kube-state-metrics - 无法列出 *v1.Pod: text/html 的序列化程序;charset=utf-8 不存在
- javascript - 如何仅为 IE 9 以上的浏览器插入脚本
- c# - 如何为多项目 Nuget 包创建符号?
- javascript - JSPDF:未捕获的类型错误:无法读取未定义的属性“长度”
- ruby - Elasticsearch 按关系排序
- json - 将 json 文本传递给 aws cli 容器