To, co opisujesz, to usługa systemowa, a nie serwer COM. Serwer COM jest przeznaczony do uruchamiania w dowolnej sesji, która go uruchamia, a nie w ramach "sesji 0" (usług) lub pojedynczej sesji. Jeśli potrzebujesz czegoś, co działa tylko w ramach jednej sesji i ma globalny dostęp do wszystkiego innego, powinieneś użyć usługi Windows, a nie serwera COM.
Jeśli potrzebujesz aspektu serwera COM z innego powodu, ale chcesz udostępniać zasoby globalnie lub nadal masz "jeden proces", który kontroluje wszystko, co musisz zrobić ... możesz komunikować się z serwerem COM z usługą za pomocą dowolnego Preferowana metoda IPC.
Również w komentarzach mówisz "kiedy uruchamiam z wiersza poleceń" - jeśli uruchomisz plik EXE z wiersza poleceń, nie ma znaczenia, czy jest on zarejestrowany jako serwer COM, czy nie, działa jak każdy inny EXE/aplikacja - co oznacza, że działa jako użytkownik, którym go uruchomisz, w dowolnej sesji. Rejestrowanie EXE jako serwera COM pozwala innym procesom na uruchamianie tego EXE i komunikowanie się z nim za pośrednictwem OLE/COM, ale EXE może nadal działać jako normalna aplikacja. Na przykład Microsoft Word i Outlook są zarówno serwerami COM. Oznacza to, że outlook.exe jest serwerem COM, ale oczywiście można go również uruchomić jako zwykłą aplikację.
Czy to lepiej pasuje do [ServerFault?] (Http://serverfault.com/) – Piccolo
DCOM jest również używany dla serwerów lokalnych. Czy próbowałeś użyć 'DCOM Config' i zmienić' Identity'? – sharptooth
Oczywiście, bez żadnej różnicy. Spodziewam się, że w Menedżerze zadań pojawi się SYSTEM, ale po uruchomieniu z wiersza poleceń nadal działa pod moim ID – user1371314