Externe Komponente ohne "DllSurrogate"-Key in Surrogate starten?

คำถาม Externe Komponente ohne "DllSurrogate"-Key in Surrogate starten?

  • Montag, 19. Dezember 2011 07:58
     
     

    Hallo,

    ich möchte via COM von C++ aus auf eine externe Komponente zugreifen, allerdings ist meine Komponente 64bit, die andere ist nur als 32bit-Variante verfügbar (meine eigene Komponente auf 32bit umzustellen, hilft nichts, da ich noch eine weitere Komponente laden muß, die es nur als 64bit-Version gibt).

    Wenn ich auf meinem Testsystem die Registrierung der anderen Komponente ändere, eine AppID und einen DllSurrogate-Key hinzufüge klappt das auch -- nur ist das ganz bestimmt nicht das, was ich auf dem endgültigen System machen möchte.

    Gibt es eine Möglichkeit, eine andere Komponente auch dann in einen Surrogate-Prozeß zu laden, wenn diese keine AppID und demnach auch keinen DllSurrogate-Schlüssel hat? Das Interface ist Automation-kompatibel und eine TypeLib ist vorhanden und registriert.

Alle Antworten

  • Donnerstag, 19. Januar 2012 18:26
     
     
    Auf StackOverflow gab es eine Antwort: Die Loesung ist, eine Helfer-Komponente zu schreiben, die mit DllSurrogate registriert ist und ein Objekt der gewuenschten Klasse erzeugt. Diese kann dann im Surrogate-Prozess gestartet werden; die Zielkomponente wird dann auch dort erzeugt.