【问题标题】:Is a long list of dependencies because of a call to RegOpenKeyEx normal?由于对 RegOpenKeyEx 的调用而导致的一长串依赖项正常吗?
【发布时间】:2013-04-04 17:57:07
【问题描述】:

我写了一个小的驱动程序 DLL,我希望将它部署在很多 XP 机器上,其中一些机器肯定会丢失 dll 等。直到今天我的 Dll 只依赖于 KERNAL32.DLL,我很高兴。我刚刚添加了对 RegOpenKeyEx 的调用,因为我需要知道注册表 kex 存在并且突然 Dependency walker 列出了对 ADVAPI32.DLL 的依赖关系,而 ADVAPI32.DLL 又依赖于许多 dll。

这是否应该让我担心我现在依赖 100 多个 DLL,或者这只会在系统损坏到无法运行的情况下导致问题?

有没有一种方法可以读取依赖较少的注册表?

【问题讨论】:

    标签: c++ winapi dll dependencies


    【解决方案1】:

    advapi32.dll 及其所有依赖项都内置在 Windows 中。

    您不必担心;如果这些 DLL 丢失,什么都不会起作用。

    (请注意,您不得尝试安装任何这些 DLL - 这会导致问题,而不是解决问题!)

    【讨论】:

    • 你会发现在 WinXP 机器上 advapi32.dll 依赖的 DLL 少了很多。大量的api-ms-win-*.dll 依赖项是由于 Microsoft 将 Win32 API 分解为大量 DLL,以允许他们为配置(如 Windows 2008 Server Core 等精简服务器)创建非常集中、最小的依赖 DLL 集。跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-11
    • 1970-01-01
    • 2020-12-30
    • 2017-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多