gpt4 book ai didi

c# - ActiveX 要求用户在每次加载页面时安装

转载 作者:太空宇宙 更新时间:2023-11-03 11:50:45 25 4
gpt4 key购买 nike

我有一个 activeX 控件,它会在每次页面加载时询问用户是否要安装它(即使它已经安装)...

谁能指出我正确的方向?到目前为止我尝试了什么:

  • 为类和接口(interface)设置新的 Guid。
  • 更改接口(interface)名称和方法名称。
  • 更改版本号
  • 卸载并重新安装 activeX

最佳答案

先看this MSDN发布它听起来像你正在经历的事情。

This can happen when the VerCache registry key may not have got updated during the upgrade of the control. For example, [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Ext\Settings{D7D5ACA4- 4C57-4C75-8D68-BC185E924B4C}] "VerCache" This happens if the old and new versions of the control have the same “Created” date time stamp, “Modified” date time stamp and the file size.

If this registry key doesn't exist, you may have to use the Sysinternals Process Monitor tool to log a repro of the problem, then search the log for the correct registry value that is being checked. It's most likely under \Ext\Settings{}...but regardless, ensure that at least one of these parameters - “Created” date time stamp, “Modified” date time stamp or the file size, on the updated control is different from the old version of the control.

此外,我会使用 Process Monitor (Sysinternals) 当用户安装 ActiveX 控件以检查它是否正在创建正确的注册表项时。在注册表中搜索与“旧”控件和最新控件关联的任何 GUID。您可能想要 backup your registry在实际删除任何注册表项之前。

您也可以尝试注册表清理或搜索工具。

如果这些没有帮助,也许您可​​以提供有关 ActiveX 控件的更多详细信息。

  1. 您是否使用了二进制兼容性?
  2. 用户的 Windows 版本是多少?
  3. 用户的 IE 是哪个版本?
  4. 这是否只发生在这个用户身上? (这对其他人有用吗?)

用户最近是否重新安装了任何软件?

如何检查:

  • 注册表(您的 ActiveX 是否对注册表进行了任何更改?)
  • 用户的PATH环境变量

您是否让用户注销了 dll?您可以从硬盘驱动器上 dll 文件所在的 cmd 行运行它:

在命令提示符下,键入 “regsvr32/u filename.dll”,其中“filename”是您要注销的文件的名称。

关于c# - ActiveX 要求用户在每次加载页面时安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2178826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com