【发布时间】:2014-07-21 15:14:21
【问题描述】:
我在尝试安装 MSI 时遇到了可怕的问题:
MSI (c) (98:B0) [18:01:22:818]: Invoking remote custom action. DLL: C:\DOCUME~1\sspencer\LOCALS~1\Temp\1\MSI19.tmp, Entrypoint: CheckFX
MSI (c) (98:FC) [18:01:22:833]: Cloaking enabled.
MSI (c) (98:FC) [18:01:22:833]: Attempting to enable all disabled privileges before calling Install on Server
MSI (c) (98:FC) [18:01:22:833]: Connected to service for CA interface.
Action ended 18:01:22: DIRCA_CheckFX. Return value 3.
经过一番挖掘,这实际上表明DLL无法完全加载,CA服务器无法连接并开始点击DLL入口点。
我使用 orca 和 7zip 为 DIRCA_CheckFX 提取自定义操作,该操作由 Visual Studio 在构建部署项目时插入。我抓住了 DLL,然后在主机系统(Server 2003 R2)中执行了 Dependency Walker,它给出了错误:
Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
我使用 VS 2010 编译器重新编译了系统,提取了 DLL 并在其上运行了dependency walker,这并没有产生同样的错误。即 VS 2010 编译工作,VS 2013 编译失败,因为包含的 DLL 不会在目标环境中加载。
我的问题是如何解决缺少哪些 DLL 的问题,以解决 Dependency Walker 报告的错误。
【问题讨论】:
-
如果是我,我会切换到一个足够聪明的工具,知道如何在不使用自定义操作的情况下检查 .NET。这就是 AppSearch 的用途。
-
告诉微软,他们编写 CA 作为部署项目的一部分,我只是想在不完全重写 WiX 的情况下推进我的环境。
-
垃圾进垃圾出。现在是你的问题。对不起。
-
顺便说一句,迁移到 WiX 更像是重构而不是重写。我运行一个开源项目,它提供了图形 UI 设计器和项目模板,让这一切变得更容易。如果您想进行免费的团队查看器会话,我怀疑转换安装程序需要超过 1-2 小时。
-
@Spence 你解决了吗?对于我们在 VS2013 和 2010 中使用新的安装程序扩展构建安装程序来说,这仍然是一个问题。我的同事在这里提出了一个问题stackoverflow.com/questions/25039568/…
标签: dll visual-studio-2013 dependencies windows-installer vdproj