C# Activex更新-IE

C# Activex更新-IE,c#,activex,cab,C#,Activex,Cab,我开发了一个C#activex控件,构建了一个相对的MSI,将它们全部放在一个CAB文件中,最后我通过IE部署了它。 一切正常 现在,我需要更新activex控件,但这似乎不可能实现。 在阅读了有关这方面的任何文章后,我想做的是: 更改了.net dll的文件版本和程序集版本 已更改my installer.msi的版本号 更改了CABARC使用的Inf文件的文件版本 将HTML页面中的对象标记更改为#version=x,x,x,x 尽管如此,activex最新版本从未下载或安装 如有任何意见,

我开发了一个C#activex控件,构建了一个相对的MSI,将它们全部放在一个CAB文件中,最后我通过IE部署了它。 一切正常

现在,我需要更新activex控件,但这似乎不可能实现。 在阅读了有关这方面的任何文章后,我想做的是:

  • 更改了.net dll的文件版本和程序集版本
  • 已更改my installer.msi的版本号
  • 更改了CABARC使用的Inf文件的文件版本
  • 将HTML页面中的对象标记更改为#version=x,x,x,x
  • 尽管如此,activex最新版本从未下载或安装

    如有任何意见,我们将不胜感激。。
    提前感谢

    我找到了解决方案:

    为了允许.NET activex自动更新,我们需要手动添加以下键:

    对于x64客户端计算机:

    关键字:HKEY_CLASSES_ROOT\Wow6432Node\CLSID{GUID}\InstalledVersion

    使用名称:(默认)

    类型:REG_SZ

    值为:1,5,3,2(它将是您的程序集文件版本,与您在cab版本的HTML标记对象中定义的完全相同)

    请使用带“逗号”分隔符的小数

    对于x86目标机器,我认为除了wow6432Node键之外,它是相同的


    请注意,MSI project可以在不编写任何代码的情况下完成此操作。

    如果手动删除当前版本,则最新版本将正确安装,但显然这不是我想要的行为。当我将新的bac veersion serer放在一边时,我希望自动更新activex。当然。.我的安装程序是按orde配置的r允许更新。是的。它被配置为删除以前的版本,然后安装最新的版本。您说安装程序实际上没有这样做,因为您有所描述的问题?