2012-03-26 6 views
0

Ich habe Code für ActiveX-Funktionalität aktualisiert, die bereits auf dem Client installiert ist (in ihren Windows-Systemordnern). Jetzt alles, was ich anzeigen möchte, installieren Active Prompt-Fenster im Internet Explorer, die normalerweise angezeigt wird, wenn kein ActiveX für das gleiche installiert ist.Wie ermöglichen ActiveX installieren Aufforderung angezeigt werden, wenn installiert ActiveX ältere Version hat

Mein ActiveX installiert eine CAB-Datei mit der INF-Datei enthält. Sowohl in meinem ActiveX-Quellcode (C#) als auch in der INF-Datei habe ich den neuen Guid/clsid-Code in der ASP.NET IE-Anwendung geändert, in der das jeweilige Steuerelement verwendet wird. Ich habe die FileVersion auch in der INF-Datei geändert, aber selbst dann erkennt der IE automatisch, dass ActiveX installiert ist (was installiert wurde, wenn die CAB-Datei eine andere FileVersion in der .inf-Datei hatte) und fordert mich nicht zur Installation auf.

Wenn ich meine ActiveX-DLL aus dem Windows-Systemordner löschen fordert dann IE zu installieren, die wie üblich ist, aber mein Bedürfnis ist ActiveX-DLL zu aktualisieren, wenn es neuere Version findet. Bitte lassen Sie mich wissen, wenn ich nicht den richtigen Weg benutze, um eine neue Version zu erstellen, wie FileVersion der inf-Datei oder irgendeinen anderen Ort, an dem ich eine neue Version definieren muss, damit ich meine gewünschte Funktionalität bekomme.

Mit besten Grüßen,

Anurag

Antwort

1

automatisches Upgrade zu erhalten, müssen Sie die folgenden zwei Dinge aktualisieren:

  1. in der INF-Datei, aktualisieren Sie den Wert von Fileversion
[DynamicWebTwainCtrl.dll] 
file-win32-x86=thiscab 
clsid={E7DA7F8D-27AB-4EE9-8FC0-3FEC9ECFE758} 
FileVersion=7,0,0,0 
RegisterServer=yes 
RedirectToHKCU=yes 
  1. Aktualisieren Sie die Versionsnummer in Ihrem Quellcode.
<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> 
+0

Dank Windig, half dies. Ich bin jedoch nicht in der Lage, neue DLL zu ersetzen, vielleicht, weil eine existierende verwendet wird, aber in der Lage ist, eine Eingabeaufforderung zu erhalten. – user1292346