【问题标题】:EventLog. Unload EventMessageFile (DLL)事件簿。卸载 EventMessageFile (DLL)
【发布时间】:2011-01-12 09:55:21
【问题描述】:

我安装 NT 服务并将有关“message.dll”文件的信息添加到 EvenLog 的注册表中。 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MyApp EventMessageFile = C:\message.dll

启动服务并在 EventLog 查看器中查看服务的日志信息消息。 工作正常。

接下来,卸载服务并尝试删除 message.dll 文件。 失败的!我收到“拒绝访问”消息框,因为此 DLL 已加载。

我的问题:在我的情况下,如何正确删除/卸载/卸载 message.dll?

非常感谢, 德米特里

【问题讨论】:

    标签: winapi event-log


    【解决方案1】:

    您是否在卸载之前停止服务?在卸载服务器之前关闭 EventLog 查看器吗?这是两个典型的错误,可能会导致 message.dll 继续使用。

    如果您仍然遇到问题,我建议您使用Process Explorer 来查找持有正在使用的 dll 的进程。 Ctrl + F 或菜单“Find”/“Find Handle or DLL...”可用于查找使用 DLL 的进程。

    【讨论】:

      【解决方案2】:

      Windows 事件查看器保持 dll 打开以读取消息。

      但是 - 这并不是唯一可能读取事件日志的内容。 RMM 软件如 ConnectWise、Naverisk 等也会监控事件日志,并且可以防止您的软件升级锁定的EventMessageFile dll 文件。

      当涉及第三方软件时,只关闭 MMC.exe 是不可行的,就像接受的答案一样。

      我找到了两种解决方法:

      1. 停止使用EventMessageFile系统,改用内置的EventCreate.exe作为源

      2. Windows Event Viewer holds a lock on my EXE file 中所述,使用 Restart Manager 子系统主动重启第三方 RMM 服务

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-03-07
        • 2012-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多