• 模块已加载,但对dllregisterServer的调用失败


    在注册dll或者ocx的时候,

    经常会遇到这么一个问题:

    模块  已加载,但对dllregisterServer的调用失败,错误代码为0x8004*****

    网上有网友回复说需要在管理员的模式下进行注册:本人测试过,

    会出现如下问题:

    模块  加载失败。请确保该二进制存储在指定的路径中,或者调试它以检查该二进制或相关的 .dll文件是否有问题。  找不到指定的模块

    还是没有能解决问题,经过长时间尝试,终于用以下方式的第一点解决了问题 本人亲测:至于另外的方式,我没有测试过。

    以下是解决win7运行批处理出错不能注册dll等问题。

    1.在批处理的第一行加入:cd /d %~dp0 然后在批处理上右键选择使用管理员权限运行。

    2.右键任务栏,选择资源管理器,进程选项卡,显示所有用户的进程,结束explorer,文件-新建任务 explorer,此时选中“利用管理特权创建此任务".桌面显示完成后就可以直接双击批处理运行了。

    3. 使用第三方提权工具,例如elevate ,用法elevate -c regsvr32 demo_doreg.dll这种方法需要在每个提权的命令前都要加上elevate -c ,这种第三方工具适合于1个或者少个需要提权的情况。http://code.kliu.org/misc

    4.使用bat to exe converter 1.51把批处理转换为exe,在转换的时候有选项可以选择 admin 权限。使用此软件时最好关掉360和其他杀软,因为软件好像要upx加壳。http://www.softpedia.com/get/System /File-Management/Batch-To-Exe-Converter.shtml

    事项: 1和4 两项适合分发给其他人员部署,第2条还是自己保留着当压箱底的吧。

    --------------------------------------------------------------

    win7 使用批处理注册dll可能会出现如下问题。

    1.模块  已加载,但对dllregisterServer的调用失败,错误代码为0x80040201原因:使用管理员权限才能注册dll

    2.右键使用管理员 可能会出现如下错误:模块  加载失败。请确保该二进制存储在指定的路径中,或者调试它以检查该二进制或相关的 .dll文件是否有问题。  找不到指定的模块。

    原因:win7下管理员的命令行(批处理)默认的是system32文件夹。

    解决方法:按照文章开头的第一条解决即可。

    当然也可使用2、3、4等方案解决。

  • 相关阅读:
    Binary Tree Maximum Path Sum
    ZigZag Conversion
    Longest Common Prefix
    Reverse Linked List II
    Populating Next Right Pointers in Each Node
    Populating Next Right Pointers in Each Node II
    Rotate List
    Path Sum II
    [Leetcode]-- Gray Code
    Subsets II
  • 原文地址:https://www.cnblogs.com/liqing1009/p/4546902.html
Copyright © 2020-2023  润新知