【问题标题】:dll 2003 80040005 error registerdll 2003 80040005 错误寄存器
【发布时间】:2012-07-13 17:28:50
【问题描述】:

我有一个 DLL(用 VB6.. 编写)。它在大多数机器和安装上都可以正常注册和运行。然而,一种安装是 T/S(终端服务器),运行 Server 2003/R2/SP2。我收到以下消息失败:

C:\Program files\ApplicationPath\ModulesPath\dllname.DLL 中的 DllRegisterServer 失败。返回码为:0x80004005

我已确保该路径具有模块及其依赖项所在的目录,我已确保以管理员身份运行 CMD 提示符,并未选中“以受限访问权限运行此程序”复选框。

我运行了depends.exe,它说缺少IESHIMS.DLL 和WER.DLL,但它们在另一个2003 Svr/R2/SP2 盒子上也不见了,它在那里注册并运行良好。

有人对在哪里寻找什么有任何想法吗?我还花了一些时间比较工作服务器和非工作服务器之间的文件夹权限、文件内容和版本等。

【问题讨论】:

    标签: dllregistration windows-server-2003-r2


    【解决方案1】:

    0x80004005 通常是 ACCESS_DENIED。有时,终端服务器设置上的权限和配置可能有点偏离地图。可以虚拟化驱动器/位置,并限制某些路径以保持配置清洁。至少一开始我会这么怀疑。

    如果您已确保使用管理员权限运行命令提示符,则问题可能是对 TS 框中文件夹的直接权限。

    祝你好运。

    【讨论】:

    • 谢谢.. 试过了.. 将工作版文件夹权限与非工作版进行比较.. 用户和权限相同.. 感觉像一只狗在追我的尾巴,但没有任何Spot 从中获得的乐趣..
    • 您是否检查了注册表项 HKEY_CLASSES_ROOT 的权限?这是我可能期望 TS 配置相对于“常规”Windows 框开始变得松散的地方。除此之外,接下来我会尝试在盒子上放一个 ProcessMonitor 的副本,启动它,然后再次执行 regsvr32,看看它是否可以为您提供有关 ACCESS_DENIED 发生位置的更多详细信息。
    • 那也是..权限似乎在那里..检查了管理员用户的“有效权限”,确保用户配置文件是管理员组的成员,检查 HKCR 和管理员有“完全控制”..我很难过..你提到的这个“ProcessMonitor”在哪里?顺便说一句,到目前为止谢谢..
    猜你喜欢
    • 2014-12-24
    • 1970-01-01
    • 2023-03-19
    • 2018-07-28
    • 2015-03-13
    • 1970-01-01
    • 1970-01-01
    • 2014-05-12
    • 2018-12-04
    相关资源
    最近更新 更多