Not an Answer, not related to the Question.
Writing (see the Question)
if (System.Windows.Forms.SystemInformation.TerminalServerSession == true)
isRemoteSession = true;
isRemoteSession = false;
isRemoteSession = System.Windows.Forms.SystemInformation.TerminalServerSession;
leaves me without much hope.
property indicate that the application (calling process) is run on a server computer as a part of remote session. It is always either
, cannot detect connection or disconnection. And certainly it will be
for your Windows Service. This check cannot help you at all.
. Just think about it.