【问题标题】:How to allow ActiveX install prompt to display if installed ActiveX has older version如果安装的 ActiveX 版本较旧,如何允许显示 ActiveX 安装提示
【发布时间】:2012-04-09 17:03:49
【问题描述】:

我已经更新了已经安装在客户端(在他们的 Windows 系统文件夹中)的 ActiveX 功能的代码。现在我只想在 Internet Explorer 上显示安装 Active 提示窗口,通常在没有安装 ActiveX 时显示。

我的 ActiveX 使用包含 .inf 文件的 CAB 文件进行安装。在我的 ActiveX 源代码 (C#) 和 .inf 文件中,我还在使用特定控件的 ASP.NET IE 应用程序中更改了新的 Guid/clsid。我也在 .inf 文件中更改了 FileVersion 但即使这样 IE 也会自动检测到 ActiveX 已安装(当 CAB 文件在 .inf 文件中有不同的 FileVersion 时安装)并且不会提示我安装。

如果我从 Windows 系统文件夹中删除我的 ActiveX DLL,则 IE 会提示安装,这与往常一样,但如果找到更新的版本,我需要更新 ActiveX DLL。 如果我没有使用正确的方法来制作新版本,请告诉我,比如我正在使用 inf 文件的 FileVersion 或我需要定义新版本的任何其他地方,以便获得我想要的功能。

最好的问候,

阿努拉格

【问题讨论】:

    标签: c# asp.net activex


    【解决方案1】:

    要获得自动升级,你需要更新以下两件事:

    1. 在inf文件中,更新FileVersion的值
    [DynamicWebTwainCtrl.dll]
    file-win32-x86=thiscab
    clsid={E7DA7F8D-27AB-4EE9-8FC0-3FEC9ECFE758}
    FileVersion=7,0,0,0
    RegisterServer=yes
    RedirectToHKCU=yes
    
    1. 更新源代码中的版本号。
    <object classid="clsid:FFC6F181-A5CF-4ec4-A441-093D7134FBF2" id="DynamicWebTwain1" width="143" height="156"
    CodeBase = "DynamicWebTWAIN.cab#version=7,0">
      <param name="_cx" value="847" />
      <param name="_cy" value="847" />
      <param name="JpgQuality" value="80" />
      <param name="Manufacturer" value="Dynamsoft Corporation" />
      <param name="ProductFamily" value="Dynamic Web TWAIN" />
      <param name="ProductName" value="Dynamic Web TWAIN" />
      <param name="VersionInfo" value="Dynamic Web TWAIN 7.0" />
    </object>
    

    【讨论】:

    • 感谢 Windy,这有帮助。不过,我无法替换新的 DLL,可能是因为现有的 DLL 正在使用但能够获得安装提示。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-04
    • 1970-01-01
    • 2010-12-19
    • 2014-04-28
    • 2018-12-06
    相关资源
    最近更新 更多