今天在注册ActiveX控件时出错了, 错误提示是XXX.ocx已加载,但是DllRegisterServer调用失败,其实在日常的工作中,用regsvr32 命令注册dll、ocx等时,这种模块已加载,但DllRegisterServer的调用失败的问题很常见,特别是再在xp的系统上能正确注册,但是在win7系统上却出现上述问题,到网上找了一下解决方法,思路各异,最终还是淘出一种较为简单的方法,这里分享给大家:
解决办法1.:
程序 - 附件 - 命令提示符,在”命令提示符“上点击鼠标右键,选择”以管理员身份运行“命令,这个时候将打开Dos命令窗口,现在就按正常步骤,打开文件路径,输入Regsvr32 xxx.dll或 XXX.ocx,就能够注册成功了.
解决办法2.:
利用bat方式一键注册
桌面右键->新建文本文档-修改后缀为bat->复制下面的脚本->修改ocx路径
模板下载 提取密码 :qcek
rem ====================
@echo off
if exist "%SystemRoot%\SysWOW64" path %path%;%windir%\SysNative;%SystemRoot%\SysWOW64;%~dp0
bcdedit >nul
if '%errorlevel%' NEQ '0' (goto UACPrompt) else (goto UACAdmin)
:UACPrompt
%1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",1)(window.close)&exit
exit /B
:UACAdmin
cd /d "%~dp0"
::echo Path:%CD%
echo Get Admin
cd C:\Windows\system32
::修改下面的路径
regsvr32 D:\1.MyWork\实验\OCX_XX.ocx
pause