我有一个activeX控件,询问用户是否希望每次页面加载时都安装它(即使它已经安装)......
有人能指出我正确的方向吗?到目前为止我尝试了什么:
答案 0 :(得分:2)
首先看this MSDN帖子听起来就像你正在经历的那样。
这可能发生在VerCache上 注册表项可能没有更新 在控制升级期间。对于 例, [HKEY_CURRENT_USER \软件\微软\的Windows \ CurrentVersion \分机\设置{D7D5ACA4- 4C57-4C75-8D68-BC185E924B4C}] “VerCache”如果旧的和 新版本的控件有 相同的“创建”日期时间戳, “修改”日期时间戳和 文件大小。
如果此注册表项不存在, 你可能不得不使用Sysinternals Process Monitor工具记录repro 问题,然后搜索日志 正确的注册表值 被检查。它最有可能在 \分机\设置{} ...但是 无论如何,确保至少有一个 这些参数 - “创建”日期 时间戳,“修改”日期时间戳 或更新的文件大小 控制与旧的不同 控件的版本。
此外,我会使用Process Monitor(Sysinternals)作为用户安装ActiveX控件来检查它是否正在创建正确的注册表项。在注册表中搜索与“旧”控件和最新控件关联的任何GUID。在实际删除任何注册表项之前,您可能需要backup your registry。
您还可以尝试使用注册表清理或搜索工具。
如果这些没有帮助,您可以提供有关ActiveX控件的更多详细信息。
用户最近是否重新安装了任何软件?
如何检查:
您是否让用户取消注册了dll?您可以从dll文件位于硬盘驱动器上的cmd行运行:
在命令提示符下,键入“regsvr32 /u filename.dll”
,其中“filename”是要取消注册的文件的名称。
答案 1 :(得分:0)
为了解决这个问题,我最终编写了一个自定义安装程序操作,在每次安装之前和之后删除了VerCache。我还写了really long blog post来发泄它。希望这可以帮助某人陷入同一时间。
答案 2 :(得分:0)
在我的情况下,解决方案是在资源文件my_active_x_control.rc中修复我的ActiveX控件的版本
我读了这个blog
转到任何计算机并启动IE8。选择工具>然后选择管理插件 选择Show:Downloaded Controls下拉列表。查看列表 安装了Active X控件......
我的控件版本是1.0.0.1。一旦我在资源文件中更新了版本,连续安装就消失了。