我正在为IE7 +编写基于.NET 4.0的ActiveX控件。我必须用钥匙阅读器管理一个界面。我跟着一些关于“如何做”的精彩教程和文章,目前运行良好。部署现有ActiveX控件的新版本
当我想要部署其他版本的控件时,我的问题就开始了。
我正在使用VS2010与安装部署项目和cabarc的.CAB。 1.0.0.0版本进展顺利。目前我想获得1.0.2.0版本的工作,并且它的工作很好,但IE总是提示安装。一次又一次。
我做了什么:
1:改变了AssemblyInfoVersion.cs到版本1.0.2.0
2:改变根据版本的.inf文件到1.0.2.0
3:改变了。 MSI版本1.0.2
我改变了OBJECT标签在HTML页面#版本= 1,0,2,0
到目前为止,一切正常。它已安装!我可以在“卸载程序”下看到它,该控件的版本是1,0,2!太棒了,但IE仍然希望我每次打开页面时都要下载并安装它。
我看到了用Excel连接螺纹:How to get COM Server for Excel written in VB.NET installed and registered in Automation Servers list?
而且我得到了有用的信息有关,我应该在注册表中更改的东西。我做了一些搜索那里,我在富尔德我的classid: HKLM \ SOFTWARE \ Wow6432Node \类\ CLSID {GUID}
我这里有以下子项: InstalledVersion 实现的类别 InprocServer32的 PROGID
我很高兴,因为我看到,在InstalledVersion部分,版本仍然是1,0,1,0。我将其更改为1,0,2,0 ...并没有奏效。我通过注册表,现在无处不在,InstalledVersion是1,0,2,0。 .dll版本是1,0,2,0。已安装的控件的版本是1,0,2。在InprocServer32下我有全部三个1,0,0,0; 1,0,1,0; 1,0,2,0版本。当然,在HTML代码中,版本也是1,0,2,0。
(我的机器是64位的Win7,IE9)在此
莫非任何人的帮助,我错过了什么?
整个场景的其他问题:在第一次安装版本后,我的开发机器重启时没有任何问题。你有什么想法什么样的设置可以使这种行为?
UPDATE:
的问题就迎刃而解了。我有点盲目,或者因为这个而有点累。 但问题是,5月重要的是,未来:
首先关于这一问题的概述: 后的新版本部署(在客户端安装好)的IE总是propting用于安装的版本。
问题来源在注册表中。您应该在InstalledVersion(默认)注册表项中拥有适当的版本号。
我在这里有一个非常特殊的情况(并且我不知道原因),但是我在SubKey InstalledVersion下有两个条目(Default)。第一个是空的,第二个包含了价值。我无法删除第一个,但只能删除第二个。我改变了第一个(默认)一切工作后发现!
您有可能创建一个名称为“(Default)”的regvalue,而不是设置默认reg值(然后给它一个虚拟名称“(Default)”? http://msdn.microsoft.com/en-us/library/xkfz6802(v=VS.80).aspx – dkackman
感谢您的评论!是的,它也是真的! –