Einzelnen Beitrag anzeigen

Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.295 Beiträge
 
Delphi 12 Athens
 
#1

ActiveX-DLL - Side-by-Side-Verwendung

  Alt 6. Dez 2020, 23:28
Das Thema hatte ich letztes Jahr in dem Thread Muss ein ActiveX registriert sein? mal angesprochen. Leider konnte ich aus zeitlichen Gründen das nicht weiter verfolgen. Aber ich muss es jetzt noch mal aufwärmen.

Also es wird wohl funktionieren, da "Der schönen Günther" in seinem Thread DLL Side-by-side registration & redirection es wohl erfolgreich durchgeführt hat.

Ich bin jetzt das ganze WE damit beschäftigt, aber es will leider nicht funktionieren.

Also noch mal von vorne. Ich habe eine DLL, die ich mit "C:\Windows\Microsoft.NET\Framework\v4.0.30319\Reg Asm.exe ITK_SDC.dll" registriere. Im Gegensatz zu meinen früheren Post funktioniert das mit regsrv32.exe nicht.

Da ich dafür Adminrechte benötige und die Anwender des öfteren keinen Adminzugang haben, würde ich gerne auf die Registrierung verzichten.

Also alles was ich bisher herausgefunden habe, ist die Erweiterung des Manifestes. Nun muss ich gestehen, dass ich mit Manifesten nie etwas zu tun hatte und für mich das richtiges Neuland ist. Also einfach mal ausprobiert.


So habe ich folgendes dem Manifest zugefügt:

Code:
<file name="ITK_SDC.dll">
    <comClass
      clsid="{952EF07E-3903-3D6B-B208-931BF59033FC}"
      tlbid="{F875C7B0-8B66-4724-8CDD-9DBE929119F0}"
      progid="ITK_SDC.ShapeDataConverter"
      description="ITK_SDC.ShapeDataConverter"
      threadingModel="both"></comClass>
    <typelib
      tlbid="{F875C7B0-8B66-4724-8CDD-9DBE929119F0}"
      version="1.2"
      helpdir=""></typelib>
  </file>
Dieser codeschnipsel bewirkt zumindest etwas. Den wenn ich diesen nicht in der Manifestdatei habe, dann kommt diese Fehlermeldung:

Zitat:
Klasse nicht registriert, ClassID: {952EF07E-3903-3D6B-B208-931BF59033FC}

Wenn ich den Codeschnipsel drin habe, dann erhalte ich folgende Meldung:

Zitat:
Fehler in der DLL, ClassID: {952EF07E-3903-3D6B-B208-931BF59033FC}

Das alles ist richtig nervig, denn eigendlich benötige ich nur eine popelige Funktion aus dieser DLL. Und dafür der ganze Aufwand.

Habt jemand von den Manifestexperten eine Idee?
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat