0

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

现在,我需要更新activex控件,但似乎不可能完成。在阅读了有关此的任何文章后,我尝试做的是:

  1. 更改了我的 .net dll 的文件版本和程序集版本
  2. 更改了我的 installer.msi 的版本号
  3. 更改了 CABAC 使用的 Inf 文件的文件版本
  4. 将 HTML 页面中的 OBJECT 标记更改为 #version=x,x,x,x

尽管如此,activex 最新版本从未被下载或安装。

任何想法将不胜感激..提前谢谢你

4

1 回答 1

1

我找到了解决方案:

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

对于 x64 客户端机器:

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

名称:(默认)

类型:REG_SZ

值:1,5,3,2(它将是您的程序集文件版本,与您在 HTML 标记 OBJECT 中为 cab 版本定义的完全一样。

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

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

请注意,MSI项目可以在不编写任何代码的情况下完成。

于 2013-05-31T08:57:20.417 回答