1

我有一个正在为其创建 innosetup 安装 (setup.exe) 的应用程序。20 个 COM dll 注册良好。我有一个没有。

regsvr32(以管理员身份运行)报告 0x3 错误。但是如何找出丢失的 DLL 呢?我有另一台 regsvr 工作的电脑!(两者都是win7 64位计算机,几乎相同)。

我在 DLL (vpfmap.dll) 上运行了 DEPENDENCY-WALKER.exe,并查看了所有依赖项。

据我所知,它们应该都在该计算机上(c:\windows(许多 dll),然后是我已复制到目标计算机上目标文件夹的 8 个其他文件。

我在事件日志中看不到任何错误。

我想要的是如何弄清楚缺少什么?

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

4

使用dependency walker,如果您正在扫描64 位文件,请确保您使用的是64 位版本的dependency walker。否则,结果将不是您所期望的。

另一个提示:尝试注册 DLL,然后检查应用程序事件日志。通常,事件日志将包含更多详细信息,包括丢失文件的文件名。

如果这是一个并行依赖问题,工具sxstrace.exe可能会告诉您缺少什么。此文件随 Windows 7 一起安装。 http://technet.microsoft.com/en-us/library/hh875651%28v=ws.10%29.aspx

sxstrace TRACE -logfile:tracelog.etl

然后尝试注册您的文件。

停止跟踪后,您需要解析日志以获得人类可读的版本。

sxstrace PARSE -logfile:tracelog.etl -outfile:tracelog.txt
于 2013-03-11T23:40:00.873 回答