注册comdlg32.dll获取Regsvr32:找不到DllRegisterServer入口点

dis*_*kid 49 windows dll regsvr32 common-dialog comdlg32

我有Windows 7,64位.

我正在尝试使用regsvr32注册.dll(comdlg32.dll).但是我得到一个错误,表示读取了dll但找不到DLLRegistryServer入口点.

我已经在System32和SysWOW64下运行命令,并且我已经使用"以管理员身份运行"运行我的命令.

我的旧MSComDlg.CommonDialog组件不再使用64位.

sel*_*bie 14

运行此命令:

dumpbin /exports comdlg32.dll
Run Code Online (Sandbox Code Playgroud)

您可能会看到comdlg32.dll不包含DllRegisterServer方法.因此RegSvr32.exe将无法正常工作.

那是你的答案.

ComDlg32.dll是一个系统组件.(存在于c:\ windows\system32和c:\ windows\syswow64中)尝试替换它或覆盖旧版本的任何注册可能会破坏Windows的其余部分.

我可以提供更多帮助,但我需要知道MSComDlg.CommonDialog是什么.它做了什么以及它应该如何工作?你试图注册什么版本的ComDlg32.dll(你在哪里得到它)?

  • `dumpbin不被识别为内部或外部命令.:( (29认同)
  • @DiAlex-Visual Studio和Visual C ++随附。查看您的VC \ bin目录。 (2认同)
  • @dialex您也可以使用[Developer Studio Prompt for Visual Studio]中的`dumpbin`(https://msdn.microsoft.com/en-us/library/ms229859(v = vs.110).aspx). (2认同)

Sim*_*ier 9

comdlg32.dll实际上不是一个COM DLL(你不能注册它).

你需要的是comdlg32.ocx,它包含MSComDlg.CommonDialog COM类(实际上依赖于comdlg32.dll工作).一旦你获得了comdlg32.ocx的支持,那么你就可以做到regsvr32 comdlg32.ocx.


小智 5

为Fundsite注册DLL

过时或缺少comdlg32.ocx运行时库可能是导致此错误的问题.确保comdlg32.ocx文件没有损坏,否则请下载文件comdlg32.ocx(~60 Kb Zip).

下载该文件并将comdlg32.ocx解压缩到Windows\System32文件夹或Windows\SysWOW64.在我的情况下,我开始使用Windows\System32,但它在我的结束时不起作用,所以我再次保存在Windows\SysWOW64中.

键入下面的启动命令,运行对话框:"C:\ WINDOWS> SYSTEM32\REGSVR32 COMDLG32.OCX"或'C:\ WINDOWS> Syswow64资料\ REGSVR32 COMDLG32.OCX’

现在Comdlg.ocx文件是注册的,下一步是注册DLL

  1. 复制Fundsite.Text.Encoding.在下面的路径C:\ Windows\Microsoft.NET\Framework64\v2.0.50727下进入64位的.Net Framework文件夹

  2. 然后在命令提示符下转到目录C:\ Windows\Microsoft.NET\Framework64\v2.0.50727,然后运行以下命令,如下所示.

这将成功注册dll.

C:\ Windows\Microsoft.net\framework64\v2.0.50727> regasm"Dll Name".dll