在线等~一个困扰了我2个星期的问题(来顶的都给分,谢谢)

时间:2022-12-15 21:30:15
我用C#写了COM组件,然后用VB引用了它(a.tlb),在本地程序运行是正常的
但是把VB程序和a.tlb放到另一台机器上就不行了(报错:Automation error.The system cannot find the file specified)
我在另一台机器上用regasm命令注册了a.tlb也没用
但是我把整个C#程序移过去了之后重新生成了一下,居然又好了。。。
我想是不是COM组件需要重新注册的缘故?

请高手们帮帮忙,告诉我到底是什么原因,因为我写的程序要放在局域网内给别人下载,总不能把C#源程序也一并放上去给别人下载吧。。

22 个解决方案

#1


up

#2


a.DLL呢?
  
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 

http://feiyun0112.cnblogs.com/

#3


a.dll没什么用,VB是引用a.tlb

#4


tlb 是对dll的包装, 2个都要

#5


dll我拷过去之后也没用啊
我只要把C#程序重新生成一下就行了

#6


regasm   a.dll  /register  /tlb

#7


上面这一句能否写完整一点?

#8


那里不完整? 
 最多a.dll带上路径

#9


还是注册的问题,你还是先找一找如何注册吧

#10


没有用过。。
关注。。

#11


应该是注册的问题
但我不知道应该打什么命令在客户端注册?
regasm  a.dll  /register  /tlb也只是生成一个新的tlb 没有用 试过了

#12


VB再引用这个tlb呀

#13


regasm /tlb:MyCom.tlb MyCom.dll 
编写好的组件放置到COM+服务器上去
Regsvcs /c   myCom.dll
组件注册后再由VB使用

#14


#15


kankan....

#16


C#正在学...

up

u

p

#17



开始/运行/CMD/  在新的窗口中运行

注册DLL文件: 
regsvr32 文件名 

解除注册 
regsvr32 文件名 /u 

不弹出信息框 
regsvr32 文件名 /i

#18


顶死你!!!!!   每天回帖即可获得10分可用分!

#19


#20


学习

#21


正在学习,帮你顶一下

#22


学习中

#1


up

#2


a.DLL呢?
  
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 

http://feiyun0112.cnblogs.com/

#3


a.dll没什么用,VB是引用a.tlb

#4


tlb 是对dll的包装, 2个都要

#5


dll我拷过去之后也没用啊
我只要把C#程序重新生成一下就行了

#6


regasm   a.dll  /register  /tlb

#7


上面这一句能否写完整一点?

#8


那里不完整? 
 最多a.dll带上路径

#9


还是注册的问题,你还是先找一找如何注册吧

#10


没有用过。。
关注。。

#11


应该是注册的问题
但我不知道应该打什么命令在客户端注册?
regasm  a.dll  /register  /tlb也只是生成一个新的tlb 没有用 试过了

#12


VB再引用这个tlb呀

#13


regasm /tlb:MyCom.tlb MyCom.dll 
编写好的组件放置到COM+服务器上去
Regsvcs /c   myCom.dll
组件注册后再由VB使用

#14


#15


kankan....

#16


C#正在学...

up

u

p

#17



开始/运行/CMD/  在新的窗口中运行

注册DLL文件: 
regsvr32 文件名 

解除注册 
regsvr32 文件名 /u 

不弹出信息框 
regsvr32 文件名 /i

#18


顶死你!!!!!   每天回帖即可获得10分可用分!

#19


#20


学习

#21


正在学习,帮你顶一下

#22


学习中