一个老的VB 程序,用到了COM 用于输出通讯。
现在改成VS2008的,因为本机装过VB6.0. 在工具中成功引入了Microsoft Communication Control,一切都很顺利。 在本机和同事的机器上都正常运行。
可是布署到一台测试Server上时,却一点exe文件就出错。
用记Log的方式详细Dedug后,在Form 构造函数的Init方法中.COM那快出错了。
在网上搜了一些资料。问题找到了,原来我和同事都正常运行的机器上
C:\winnt\system32 下有
Mscomm.srg, Mscomm32.ocx,Mscomm32.dep
这三个文件。且已经注册过了,因为是装过vb6.0.
而测试机上没有安装过vb6.0.
做法如下:
做法:
第一步:将Mscomm.srg, Mscomm32.ocx,Mscomm32.dep三个文件复制到系统文件夹中。要注意的是,
MSComm控件是要授权的,所以必须将其使用“执照”Licence 在注册表中登记注册,下一步就是注册方法。至
于为什么要这样做,可以看看下面的网页:http://support.microsoft.com/support/kb/articles/q151/7/71.asp
第二步:用Windows下的注册工具regsvr32注册该OCX控件,点击“开始”->"运行",再在中填入(假设操
作安装在C盘,WIN2000):
Regsvr32 C:\winnt\system32\Mscomm32.ocx
第三步:在注册表中手工新建一个主键项:先在点击“开始”->"运行",再在中填入regedit命令打开注册表,
找到HKEY_CLASSES_ROOT\Licenses,在其中添加主键
4250E830-6AC2-11cf-8ADB-00AA00C00905 并将内容设置为:
kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun
(注:这项内容也可以用记事本程序打开Mscomm.srg文件看到)
三步做完,成功打开运行!第一步:将Mscomm.srg, Mscomm32.ocx,Mscomm32.dep三个文件复制到系统文件夹中。要注意的是,
MSComm控件是要授权的,所以必须将其使用“执照”Licence 在注册表中登记注册,下一步就是注册方法。至
于为什么要这样做,可以看看下面的网页:http://support.microsoft.com/support/kb/articles/q151/7/71.asp
第二步:用Windows下的注册工具regsvr32注册该OCX控件,点击“开始”->"运行",再在中填入(假设操
作安装在C盘,WIN2000):
Regsvr32 C:\winnt\system32\Mscomm32.ocx
第三步:在注册表中手工新建一个主键项:先在点击“开始”->"运行",再在中填入regedit命令打开注册表,
找到HKEY_CLASSES_ROOT\Licenses,在其中添加主键
4250E830-6AC2-11cf-8ADB-00AA00C00905 并将内容设置为:
kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun
(注:这项内容也可以用记事本程序打开Mscomm.srg文件看到)