COM库出现问题

时间:2018-08-03 07:37:49

标签: c# dll com

我有问题。我有一个可以与指纹读取器一起使用的Winform。

因此,当我使用dll处理指纹读取器时,请执行以下操作:

1)我创建对dll的引用

enter image description here

2)然后,我添加using语句以使用命名空间

enter image description here

3)然后创建一个ZKFPEngX对象

enter image description here

4)然后,我创建该对象的一个​​实例,并开始使用该实例。

enter image description here

在我的开发环境中的“调试”模式下,它可以完美运行。

一旦将其打包并在另一台PC上安装了该程序,一旦到达使用该dll的任何代码段,它就会中断。

我得到的错误是:

enter image description here

我已确保输出中包含dll,并且在安装时在应用程序目录中具有dll。

我不确定从哪里可以找到错误。

编辑:

我试图通过将dll复制到System32来手动注册dll,然后尝试使用regsvr32.exe注册dll。

    regsvr interop.ZKFPEngControlX.dll

这会引发以下错误

enter image description here

我确实尝试注册了system32文件中的另一个dll ...该dll像超级按钮一样工作

进一步阅读后,“互联网”提示该dll不需要注册,或者甚至不能注册。

我的问题是我现在应该如何使用它,为什么在我的开发环境中可以使用它?

1 个答案:

答案 0 :(得分:2)

我可能是错的,但是好像DLL尚未注册

  

Regsvr32是用于注册和注销OLE的命令行实用程序   控件,例如Windows注册表中的DLL和ActiveX控件。   Regsvr32.exe安装在以下位置的%systemroot%\ System32文件夹中   Windows XP和更高版本的Windows。

Regsvr32 [/ u] [/ n] [/ i [:cmdline]] <dllname>

  • / u-取消注册服务器

  • / i-调用DllInstall,并为其传递可选的[cmdline];与/ u一起使用时,它将调用dll卸载

  • / n-不调用DllRegisterServer;此选项必须与/ i

  • 一起使用
  • / s –静音;不显示任何消息框

进一步阅读

How to use the Regsvr32 tool and troubleshoot Regsvr32 error messages