Halli Hallo,
versuch mal deinen
COM Server mittels "RegisterActiveObject" in die ROT einzutragen (ROT = Running Objects Table).
Siehe hier
Auf diese Weise kannst du von aussen immer auf eine (und
nur auf eine) Instanz eines
COM-Servers zugreifen. Am besten registriert man die laufende Instanz im Eventhandler für "AfterConstruction" des Serverobjektes.
Wir betreiben bei unserer Software mehrere
COM server auf diese Weise und arbeiten mit Einzelinstanzen dieser Server aus verschiedensten Situationen heraus (normale Anwendung, Word-Addin, Deskband, IE Addin) Dabei werden die Server nur vom ersten der zugreift erzeugt. Die anderen Softwareteile benutzen dann die laufenden Instanzen der Server.
Im Umfeld eines Service hab ich das allerdings noch nicht getestet!!
Ciao,
Ralf