我尝试安装 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 为部署项目构建时由 Visual Studio 插入的 DIRCA_CheckFX 提取自定义操作。我抓住了 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 报告的错误。