关于MSCOMM控件注册问题

li_xiang1102 2011-04-07 01:20:55
本人用VC++ 6.0做了一个串口的通信界面,调用了MSCOMM控件,起初不知道在别人电脑上需要注册控件才能运行,结果不行运行。
后面再网上查了下手动注册方法:
按照网上说拷贝MSCOMM32.ocx(已有)、MSCOMM32.DEP、MSCOMM.SRG、MSCOMM32.oca到C:\WINDOWS\system32
然后运行 Regsvr32 Mscomm32.ocx,系统提示注册成功。
但是此时还是不能运行软件,于是又安装网上说的在注册表里的HKEY_CLASSES_ROOT\Licenses中添加主键
4250E830-6AC2-11cf-8ADB-00AA00C00905 并将内容设置为:kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun
这个时候就可以打开软件了!!

我想知道上面的4个文件哪些是必须的,我以前只有一个MSCOMM32.ocx时,运行Regsvr32 Mscomm32.ocx,系统也提示注册成功,但是没有修改注册表,所以不行。

上面手动注册的确实有点麻烦,不可能让用户去干这些事吧,有什么简单点的方法吗。网上说可以使用Installshield生成安装包,但是不知道怎么设置才可以让它自动注册MSCOMM控件呢(希望讲得详细点),谢谢大家了!!!!!
...全文
398 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2011-04-07
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 li_xiang1102 的回复:]

引用 8 楼 xianglitian 的回复:
用NSIS支持脚本安装
很方便

NSIS是不是比Installshield好用呢?

那用Installshield该怎么弄呢,网上都找不到有用的教程 呵呵
[/Quote]Installshield也不错
不过我确实没用过
NSIS对脚本支持比Installshield好些
网上也有不少例子
King_hhuang 2011-04-07
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 li_xiang1102 的回复:]
引用 7 楼 king_hhuang 的回复:
批处理文件你可以这么写:

copy mscomm*.* %windir%\system32\ /y
Regsvr32 %windir%\system32\mscomm32.ocx /s
reg add "HKCR\Licenses\4250E830-6AC2-11cf-8ADB-00AA00C00905" /v "" /d "kjljvj……
[/Quote]
你把你的mscomm的几个文件放到一个文件夹,然后在把这个写好的批处理文件也放在里面,让用户双击一下这个批处理文件,就搞定注册啦
li_xiang1102 2011-04-07
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 xianglitian 的回复:]
用NSIS支持脚本安装
很方便
[/Quote]
NSIS是不是比Installshield好用呢?

那用Installshield该怎么弄呢,网上都找不到有用的教程 呵呵
li_xiang1102 2011-04-07
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 king_hhuang 的回复:]
批处理文件你可以这么写:

copy mscomm*.* %windir%\system32\ /y
Regsvr32 %windir%\system32\mscomm32.ocx /s
reg add "HKCR\Licenses\4250E830-6AC2-11cf-8ADB-00AA00C00905" /v "" /d "kjljvjjjoquqmjjjvpqqkqmqykypoqj……
[/Quote]

哦 谢谢
按照你说的,我是不是需要在我的上位机程序里添加调用这个批处理文件的代码?
如果是这样是不是我还需要把那些mscomm32的文件与可执行文件放在一个文件夹内?,这样的话我可不可以不修改上位机程序(呵呵 不太懂),直接每次在一个新机子上先运行一下批处理程序就OK了?
向立天 2011-04-07
  • 打赏
  • 举报
回复
用NSIS支持脚本安装
很方便
King_hhuang 2011-04-07
  • 打赏
  • 举报
回复
批处理文件你可以这么写:

copy mscomm*.* %windir%\system32\ /y
Regsvr32 %windir%\system32\mscomm32.ocx /s
reg add "HKCR\Licenses\4250E830-6AC2-11cf-8ADB-00AA00C00905" /v "" /d "kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun" /f
pause
li_xiang1102 2011-04-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 king_hhuang 的回复:]
Regsvr32 Mscomm32.ocx写到一个新建的txt文档,然后改文档后缀为bat,双击运行就能实现注册
[/Quote]

这个是不是就相当与在运行里执行了Regsvr32 Mscomm32.ocx?

但是我光执行这个命令还不行呢,还要在注册表里添加注册项呢,这是怎么回事?(我以前以为Regsvr32 Mscomm32.ocx后系统应该自动就把注册表的相关项给添加了,为什么还要自己手动去添加呢?)
King_hhuang 2011-04-07
  • 打赏
  • 举报
回复
Regsvr32 Mscomm32.ocx写到一个新建的txt文档,然后改文档后缀为bat,双击运行就能实现注册
li_xiang1102 2011-04-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 visualeleven 的回复:]
做个安装包程序嘛
[/Quote]

我用installshield试过 不知道哪里没设置好也不行,所以想请教下各位 有没有一些资料
li_xiang1102 2011-04-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 king_hhuang 的回复:]
引用楼主 li_xiang1102 的回复:
本人用VC++ 6.0做了一个串口的通信界面,调用了MSCOMM控件,起初不知道在别人电脑上需要注册控件才能运行,结果不行运行。
后面再网上查了下手动注册方法:
按照网上说拷贝MSCOMM32.ocx(已有)、MSCOMM32.DEP、MSCOMM.SRG、MSCOMM32.oca到C:\WINDOWS\system32
然后运行 Regsvr……
[/Quote]

一直都在搞下位机,对上位机的东西一点不懂呢,怎么写这个批处理命令呢,程序调用时需要注意什么不?
Eleven 2011-04-07
  • 打赏
  • 举报
回复
做个安装包程序嘛
King_hhuang 2011-04-07
  • 打赏
  • 举报
回复
[Quote=引用楼主 li_xiang1102 的回复:]
本人用VC++ 6.0做了一个串口的通信界面,调用了MSCOMM控件,起初不知道在别人电脑上需要注册控件才能运行,结果不行运行。
后面再网上查了下手动注册方法:
按照网上说拷贝MSCOMM32.ocx(已有)、MSCOMM32.DEP、MSCOMM.SRG、MSCOMM32.oca到C:\WINDOWS\system32
然后运行 Regsvr32 Mscomm32.ocx,系统提示注册成功……
[/Quote]
你也可以写一个批处理命令啊,把控件注册写到里面,程序里面调用一下就可以啦

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧