Mam program C#/.NET, który może działać zarówno jako aplikacja konsolowa, jak i jako usługa. Obecnie udostępniam jej opcję wiersza poleceń jako aplikację konsolową, ale chciałbym tego uniknąć.C#/.NET: Wykrywanie, czy program jest uruchamiany jako usługa lub aplikacja konsoli.
Czy można programowo wykryć, czy mój program jest uruchamiany jako usługa?
Jeśli to była czysta Win32, mógłbym spróbować uruchomić jako usługę z StartServiceCtrlDispatcher i spaść z powrotem do konsoli, jeśli zwrócony ERROR_FAILED_SERVICE_CONTROLLER_CONNECT, ale System.ServiceProcess.ServiceBase.Run() wyskakuje errordialog jeśli to się nie powiedzie, a następnie po prostu zwraca bez sygnalizowania błędu w programie.
Wszelkie pomysły?
Być może OP nie wiedział, że to była dupka, ponieważ pytanie, na które już udzielono odpowiedzi, ma okropne imię. –