0

我正在尝试诊断某些可执行文件未从启动时运行的情况。

首先,我想检查filename.exe磁盘上是否存在 of(它没有被删除)。

我的输入是可执行文件的文件名及其 UUID。

问题:有了这些输入,我如何检查注册表是否已注册,如果已注册,可执行文件的路径是什么?

4

3 回答 3

2

看起来您正在寻找Dependency Walker

Dependency Walker 检测到许多常见的应用程序问题,例如缺少模块、无效模块、导入/导出不匹配、循环依赖错误、模块机器类型不匹配以及模块初始化失败。

您可以从http://www.dependencywalker.com/下载副本

Dependency Walker 完全免费使用。但是,您可能无法从其分发中获利,也不得将其与其他产品捆绑销售。

如果您在Dependency Walker.EXE中打开文件,您将看到所有依赖模块 (DLL) 的层次结构树图。缺少的 DLL 以红色显示(我想,我上次使用该工具已经有好几年了)。

于 2013-03-07T09:13:47.827 回答
2

我认为最好的方法是运行 regedit 并通过注册表查找 dll 名称。只需 F3(查找下一个),直到找到作为路径的 dll 的值。它每次都有效

于 2014-03-04T14:14:12.837 回答
1

如果这是一个自动化组件,您应该能够在注册表项下找到文件路径,相关组件的 uuid 在HKEY_CLASSES_ROOT\CLSID\uuid\LocalServer32哪里。uuid如果组件位于 .dll 而不是 .exe 中,则它可能位于\InProcServer32而不是\LocalServer32键下。(有关更多详细信息,请参见此处)。

于 2013-03-07T09:32:06.387 回答