我用VC6.0写的一个ocx,现象是:
1.在Windows窗体中的引用是正确的
2.打包进网页后总是找不到这个控件
3.同样的机器上,用VB写的ocx打包进网页后之正确的
4.将VB的控件在网页中的代码部分直接换成VC控件的,仍然不行请问:
1.VC的ActiveX控件难道还区分是否在网页上用的吗?
2.请问应该怎么做啊?
1.在Windows窗体中的引用是正确的
2.打包进网页后总是找不到这个控件
3.同样的机器上,用VB写的ocx打包进网页后之正确的
4.将VB的控件在网页中的代码部分直接换成VC控件的,仍然不行请问:
1.VC的ActiveX控件难道还区分是否在网页上用的吗?
2.请问应该怎么做啊?
所以不同的ocx控件classid必须不同,否则加载的不是预期的ocx.
本机可以有可能是VC编译或创建时就替你注册好了,所以本机可以用,服务器注不注册没关系,
客户在打开网页时先找classid,没找到时,再到指定的路径(服务器路径)下载,提示安装,
而没有数字签名的ocx一般的浏览器会屏蔽下载安装步骤,
因此ocx最终还要进行数字签名,别人在能安装使用
你去搜一下Activex cab打包,就能找到
需要自己写一个inf文件,如
[Version]
signature="$CHICAGO$"
AdvancedINF=2.0[Add.Code]
jatoolsP.dll=jatoolsP.dll[jatoolsP.dll]
file-win32-x86=thiscab
RegisterServer=yes //这地方就是需要在客户机注册的意思
CLSID={B43D3361-D975-4BE2-87FE-057188254255}
;DestDir=11
FileVersion=1,2,0,6
类似这个的,用vc呆的打包工具,把控件和你自己写的打包工具打一起,生产cab文件通常还需要去CA申请证书,加上数字签名。