2011-11-02 66 views
0

我制作了一个作为cab打包的ActiveX控件,并将其放入我的Web服务器。 驾驶室用虚拟签名进行数字签名。 在客户机上,在“C:\ Windows \ Downloaded Program Files”中,我可以找到从cab中提取的dll和osd文件。 现在我买了一个真正的证书,并在服务器上用它签上了cab。 当我作为客户端登录时,在设置了一些安全设置后,我希望看到一个提示,即下载一个以我的名字作为发布者的ActiveX控件。那没有发生。然后我去了“C:\ Windows \ Downloaded Program Files”,删除了从cab中提取的dll和osd文件,再次以客户端身份登录,然后我确实看到了我期待看到的内容:提示下载使用我的名字作为发布者的ActiveX控件。 我的问题是:为什么我在第一次登录时看不到签名?当然,dll和osd文件已经存在,并且dll具有相同的版本,但是并不是出租车签署了新签名和时间戳的事实意味着什么?还有另外一个问题 - 如果驾驶室内的dll版本号比“C:\ Windows \ Downloaded Program Files”中的版本号更新,那么它会被覆盖吗?ActiveX控件版本控制和签名

回答

1

显然,正在检测版本号以决定是否重新下载控件。如果CAB的版本号比本地副本的版本号更新,它将覆盖“C:\ Windows \ Downloaded Program Files”中的版本号。

+0

什么决定了驾驶室版本?我怎么能看到它?它是否与内部的dll版本相同?它是在html中object标记的代码基属性中指定的版本吗? – yonih

+0

顺便说一句,我看到当我将codebase属性中的版本更改为“-1,-1,-1,-1”或任何大于客户机中dll版本的版本时,提示在客户页面的每一次刷新中都会出现。当代码库属性中的版本等于或者低于时,驾驶室不会下载并且没有提示。所以我想看看我是否能得到工作流程:IE将客户端机器中dll的版本与html页面中指定的版本进行比较。如果客户端的版本未更新,则从服务器下载cab。否则,使用客户端的dll。正确? – yonih

+0

没错:-) – Windy