怎样可以在打开网页时要求ActiveX控件下载并注册(200分)

R

rehuo

Unregistered / Unconfirmed
GUEST, unregistred user!
按什么装啊!
网页再显示ocx的时候,是自动下载的,不需要人工干预的
 
F

FreeFly

Unregistered / Unconfirmed
GUEST, unregistred user!
过程是这样的,ie看到<object>后,就会在注册表里查找classid所标识的activex是否存在,
如果存在就显示它,如果不存在就按codebase所指定的URL去下载,IE找到这个文件后就会
判断它是否有数字签名,如果没有数字签名,IE会按照当前的安全设置来判断是否下载。
 
R

rehuo

Unregistered / Unconfirmed
GUEST, unregistred user!
to ljf945
你好!
你的OCX能自动更新吗?
不是指一运行的时候能显示。
 
F

FreeFly

Unregistered / Unconfirmed
GUEST, unregistred user!
自动更新要根据版本号来的。
codebase="http://ljf/test/asp/Project1.cab#version=1,0,0,1"
 
R

rehuo

Unregistered / Unconfirmed
GUEST, unregistred user!
你做过Try没有?
怎么我在做实验的时候,如果有三个文件的时候,不能自动更新?
版本号信息不一致的时候,客户端不能自动更新呀,显示的是老版本信息。
 
L

lyd_2000

Unregistered / Unconfirmed
GUEST, unregistred user!
路径错误!
 
R

rehuo

Unregistered / Unconfirmed
GUEST, unregistred user!
我希望大家能能认真的做一下TRY。
因为我的结果是做了好多次实验的。
 
F

FreeFly

Unregistered / Unconfirmed
GUEST, unregistred user!
我也是试过很多次才成功的,delphi生成的那个html文件中codebase是这样写的:
codebase="http://url/filename.ocx"#version=1,0,0,1
而在msdn中codebase是这样写的:
codebase="http://url/filename.ocx#version=1,0,0,1"
两者的区别就在于version在引号里还是在引号外面,我按照msdn中的写法是实验成功的。
关于cab文件的自动更新我没有试,我估计是一样的,可能要注意inf文件中
各个项目中fileversion的写法。
 
R

rehuo

Unregistered / Unconfirmed
GUEST, unregistred user!
你用Delphi生成的代码和我的怎么不一样?
我上面:delphi生成的那个html文件中codebase是这样写的:
codebase="http://url/filename.ocx#version=1,0,0,1"
而不是
codebase="http://url/filename.ocx"#version=1,0,0,1啊
 
F

FreeFly

Unregistered / Unconfirmed
GUEST, unregistred user!
可能是我用delphi4的原因吧,不过没有关系,明白是怎么样一回事就行了。
 
L

lwaif

Unregistered / Unconfirmed
GUEST, unregistred user!
终于成功了,但前提是我改了IE对ActiveX的安全设置,默认的设置是可以启用有许可证的
ActiveX控件,这个许可证怎样建立的?
上面说的license文件是否许可证?怎样建立的?
 
F

FreeFly

Unregistered / Unconfirmed
GUEST, unregistred user!
就是要对activex进行数字签名,在论坛里找找,有很多关于数字签名的讨论。
 
R

rehuo

Unregistered / Unconfirmed
GUEST, unregistred user!
其实,我想不用许可证也是可以的吧
 
L

lwaif

Unregistered / Unconfirmed
GUEST, unregistred user!
不用许可证那就得手工改IE的安全设置了
那里有许可证下载呀?
 
L

ljf945

Unregistered / Unconfirmed
GUEST, unregistred user!
许可证好象要花钱买的。
lwaif希望可以做到象一些网页那样下载注册。
我做过的。是可以的。

谢谢rehao。
我现在在研究它带的inf文件,有什么心得,或什么书关于它的inf文件?
 
R

rehuo

Unregistered / Unconfirmed
GUEST, unregistred user!
使用许可证也可以
对控件进行数字化签名
1.首先要有认证机构的证书(安装完后在ie证书管理器中就有),国内的www.Ca365.com
是免费的,国外的www.verisign.com是交钱的
2.然后要有签名工具如signcode.exe(www.verisign.com上有下载),对你的ocx,dll,exe进行签名
3.www.verisign.com的证书最好,ie缺省安装后证书管理器的根目录中就有它 的发行机构
而国内的www.ca365.com没有,所以客户机还要安装。
不过,我认为你可以通过程序修改注册表使其接受你的ocx下载请求。可以加在OCX中。
使用许可证有点麻烦,不如通过设置IE配置,可以自动的啊。
我正研究,希望能和大家一起探讨。
 
F

FreeFly

Unregistered / Unconfirmed
GUEST, unregistred user!
其实ca365的东西任何一个人都可以做的,只要你安装一个win2000Server就可以了,
在那里面你要安装一个证书服务,你就可以发证书了,有了证书你就可以用微软的
signcode进行数字签名了,很容易的.
 

Similar threads

D
回复
0
查看
663
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
650
DelphiTeacher的专栏
D
顶部