Unter Win7 (wohl ab Vista) sind keine interaktiven Dienste mehr erlaubt.
Interaktive Dienste lassen sich zwar noch im Objektinspektor zur Klasse TService und in der Service Management Console (Dienste) noch konfigurieren, sind aber wohl nicht mehr erlaubt.
Möglicherweise ist das, das Problem?!
Im Thread
Programm von Dienst starten lassen (Jetzt aber wirklich mal) wird das Thema auch diskutiert, hat mir aber noch nicht weitergeholfen.
Ich will ja, das der Dienst über
COM (
DLL realisiert
COM-Client) den
COM-Server (die Anwendung) ausführt, damit niemand sich am Rechner anmelden muss, um die Anwendung zu starten.
Noch ein Querverweis zu diesem Problem:
Windows-Dienst als COM-Client. Geht das überhaupt???
In der
COM-Client-
DLL ist der Aufruf wie folgt (ist zwar C++, dürfte aber wohl nichts zur Sache tun, oder?):
...
Delphi-Quellcode:
Mk_tlb::TCOMIMK_Main comobj;
HRESULT hr = CoCreateInstance( Mk_tlb::CLSID_MK_Main, // {82031DB1-8955-4731-9AF6-08121F2331AB}
NULL,
CLSCTX_LOCAL_SERVER, // CLSCTX_ALL geht auch
Mk_tlb::IID_IMK_Main, // {D676B71E-0ACF-427A-A40E-23CCDECDFA29}
(void**)
&comobj );
bool ok = SUCCEEDED( hr ); // Fehler -2147221008
...