VS开发应用打包安装到其它电脑,提示错误
Debug assertion failed!
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\occcont.cpp Line 925.
其实是控件没有注册的问题。
我写的应用程序中使用了串口控件,打包后装到别人电脑不能正常使用,原因是缺少MSCOMM32.OCX,在网上下载好这个控件,安装好就可以了,安装方法如下:
1.将mscomm32.ocx文件复制到C:\Windows\SysWOW64目录下(注意64位系统一定要放到此目录下)
2.以管理员身份运行 cmd命令行输入:regsvr32 C:\Windows\SysWOW64\mscomm32.ocx 回车注册完毕
如果不用管理员身份运行cmd,则会出现注册失败的提示:
DllRegisterServer的调用失败
在注册ActiveX控件时出错了, 错误提示是COMDLG32.OCX.ocx已加载,但是DllRegisterServer调用失败。其实在日常的工作中,用regsvr32 命令注册dll、ocx等时,往往是没有使用管理员身份运行cmd
(注意此时使用的是syswow64目录下的regsvr32.exe,而不是system32下的regsvr32.exe)。
64位系统用syswow64目录。32位系统用system32目录
【解决方案】
运行以来的ocx注册一下...
regsvr32 C:\Windows\SysWOW64\mstscax.dll
COM 组件就是一组接口的集合,实现了 IDispath 接口的 COM 组件叫做自动化组件。在自动化组件的基础上,在实现规定的接口就称为 ActiveX 组件,
Ocx 是 Activex 的文件载体。
一般来讲 ,一个 ActiveX 对应一个 Ocx 文件, 如果愿意, 一个Ocx 文件也可以包含多个 ActiveX 控件。