regsvr32工具,知道的进来解决立即给分

wen8511 2003-10-16 07:52:00
当我用regsvr32注册DLL文件时,它说dllregisterserver输入点没有找到.什么意思
怎么处理。
...全文
69 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tqinghaijn 2004-01-13
  • 打赏
  • 举报
回复
vs.net开发的dll不需要使用regsvr32进行注册也不能。直接引用就行。
wen8511 2003-10-16
  • 打赏
  • 举报
回复
不对啊,我的是VS。NET2003
应该 是VB7才对,那VB6的问题应该不存在啊
rgbcn 2003-10-16
  • 打赏
  • 举报
回复
错误: 在 'C:WINDOWS\SYSTEM\expsrv.dll' 中未发现 DllRegisterServer() 的\WINDOWS\SYSTEM\expsrv.dll"输入点

*** 在本操作期间: DllSelfRegister: "C:

*** 错误: 注册文件 'C:\WINDOWS\SYSTEM\expsrv.dll' 时出错

*** 错误: (用户响应 '忽略')

忽略错误后安装完成。在WINDOWS 98 下安装已有同样的问题。

答:DLL有两种,一种是标准DLL,另一种是ActiveX DLL。前者拷贝到用户机器上就可以工作了,而后者还需要调用DLL中的DllRegisterServer或者使用RegSvr32进行注册才能使用。你可以打开VB98\Wizards\PDWizard\VB6dep.ini文件。下面是这个文件的片断:

[ExpSrv.dll]

Dest=$(WinSysPathSysFile)

CABFileName=MSJet35.cab

CABDefaultURL=http://activex.microsoft.com/controls/vb6

CABINFFile=MSJet35.inf


[MSRD2x35.dll]

Dest=$(WinSysPathSysFile)

Register=$(DLLSelfRegister)

CABFileName=MSJet35.cab

CABDefaultURL=http://activex.microsoft.com/controls/vb6

CABINFFile=MSJet35.inf


你可以看到MSRD2x35.dll比ExpSrv.dll多一行Register=$(DLLSelfRegister),这是因为MSRD2x35.dll是ActiveX DLL。ExpSrv.dll是普通的DLL,没有DllRegisterServer,也用不着注册。你所遇到的问题是VB6的一个BUG(在VB6 SP3中已经修复)。如果你VB6dep.ini文件的ExpSrv.dll多了Register一行,应该删除。或者打开安装程序的Setup.lst,删除其中ExpSrv.dll一行中的“$(DLLSelfRegister)”字样。

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧