Internet explorer ActiveX控件版本控制和签名

Internet explorer ActiveX控件版本控制和签名,internet-explorer,activex,add-on,cab,Internet Explorer,Activex,Add On,Cab,我制作了一个ActiveX控件,打包为cab,并将其放在我的web服务器中。 驾驶室用虚拟签名进行了数字签名。 在客户机上的“C:\Windows\Downloaded Program Files”中,我可以找到从cab中提取的dll和osd文件。 现在我买了一个真正的证书,并用它在服务器上签署了cab。 当我以客户端身份登录时,在设置了一些安全设置之后,我希望看到一个提示,提示我下载一个名为publisher的ActiveX控件。那没有发生。然后我转到“C:\Windows\Downloade

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

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

什么决定CAB的版本?我怎么能看到它?它是否与内部dll的版本相同?它是html中对象标记的代码库属性中指定的版本吗?顺便说一句,我看到当我将代码库属性中的版本更改为“-1,-1,-1”或任何高于客户端机器中dll版本的版本时,每次刷新客户端页面时都会出现提示。当codebase属性中的版本等于或更低时,cab不会下载,也不会出现提示。所以我想看看我是否得到了工作流:IE将客户端机器中的dll版本与html页面中指定的版本进行比较。如果客户端版本未更新,则从服务器下载cab。否则,将使用客户端的dll。对的