我有一个程序有两个类,都用到了MScomm32.ocx控件.
其中一个是自己设计的控件类,Mscomm控件放在自己设计的界面上,C#工程将MScomm32.ocx转换引用的为AxInterop.MSCommLib类.
另一个只是单纯的类,没有界面,用的也是MScomm32.ocx,C#工程将MScomm32.ocx转换引用的为Interop.MSCommLib类.
程序运行都没有任何问题.
现在将程序用net打包后在其它机器上运行时,我设计的引用AxInterop.MSCommLib类的控件运行没有问题,但是一调用我的引用了Interop.MSCommLib的类时就出现异常,重新注册(regsvr32.exe)也不行.
我将VB 安装以后,运行就全部正常,但VB环境一没有,就出问题.
我应该如何解决?

解决方案 »

  1.   

    我上述问题的原因已经找到,是由于MSComm控件要在注册表中手工注册以下键值:
    [HKEY_CLASSES_ROOT\Licenses\4250E830-6AC2-11cf-8ADB-00AA00C00905]
    @="kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun"但我想在制作安装包时将注册键值将其写入,如何作,有个问题,.NET 安装部署项目无法对注册表项添加默认键值.
    请高手指点!!
      

  2.   

    你说的那个Key和使用没有关系,只是能不能在Design Mode下加载控件,和运行时无关。这是OCX控件一种安全策略。