请问,使用 VB6 调用 C#.Net 的 DLL ,不会要在每一台目标电脑上都要重新编绎一次才可以吧?????
Hi,
我在一台 电脑A 里面使用 VB6 调用 C#.Net 的 DLL ,当时不知在该机器用过多少种方法,忘记哪个对哪个错了,
最后成功让 VB6 可以调用到 C#.Net 的 DLL 里面的方法,
并且,电脑A 里面通过 Visual Basic 6.0 也可以最终生成一个 TestVB6.exe 并成功运行调用 C#.Net DLL。
---------------------------
现在问题来了,我把 电脑A 里面的 TestVB6.exe 以及 C#.Net.DLL 复制到 电脑B, 运行的时候提示出错,具体出错原因就是一开始的时候,找不到类型库可能是。
-------------------------------
请问,使用 VB6 调用 C#.Net 的 DLL ,不会要在每一台目标电脑上都要重新编绎一次才可以吧?????
请指教一下,谢谢。
------解决方案--------------------你其他机器是否有支持版本的dotNET framework才行。
------解决方案--------------------
报错信息的意思是系统组件中'MSINET.OCX' 文件丢失了或者不能使用,解决这个问题很简单。
下载MSINET.OCX文件,解压后把MSINET.OCX文件复制到c:\windows\system32\目录下。
然后点击“开始”“运行”中输入 regsvr32 msinet.ocx 回车,再试试,你的软件就可以运行了。
------解决方案--------------------ocx只要注册就可以,放在哪里无所谓。
------解决方案--------------------注册后,其他需要该组件的程序都不用再次注册了
放在目录下,只是你的程序能用(系统加载程序集会逐一搜索系统目录和当前目录),其他程序仍然会报错
------解决方案--------------------dll无法自己注册,ocx可以自动发现和注册,但是权限要足够(注册ocx的权限高于仅仅运行程序的权限)
最好还是打包注册下。
------解决方案--------------------regsvr32 x:\path\file.ocx/dll
------解决方案--------------------
regsvr32 x:\path\file.ocx/dll
所有看到的 .ocx 都需要做 regsvr32 吗?
自动注册其实也相当于调用这个命令。
------解决方案--------------------
regsvr32 x:\path\file.ocx/dll
所有看到的 .ocx 都需要做 regsvr32 吗?
自动注册其实也相当于调用这个命令。
还有个问题,如果你是说自动注册,假设我使用 Administrator 去安装与使用一次,这样在 Administrator 运行 Test.exe 的时候,这些 .ocx 就会被自动注册一次,
那如果接下来的使用 User A 没什么权限的用户去运行 Test.exe ,那就表示其实 .ocx 已经注册过了?
之所以注册需要更高的权限,是