title: Windows services with windows forms in the same process
body: <p>I have a c# application that runs as a windows service controlling socket connections and other things.
  Also, there is another windows forms application to control and configure this service (systray with start, stop, show form with configuration parameters).</p>
  
  <p>I'm using .net remoting to do the IPC and that was fine, but now I want to show some real traffic and other reports and remoting will not meet my performance requirements. So I want to combine both applications in one. </p>
  
  <p>Here is the problem:</p>
  
  <p>When I started the form from the windows service, nothing happened. Googling around I've found that I have to right click the service, go to Log on and check the "Allow service to interact with desktop" option. Since I don't want to ask my users to do that, I got some code googling again to set this option in the user's regedit during installation time. The problem is that even setting this option, it doesn't work. I have to open the Log On options of the service (it is checked), uncheck and check again.</p>
  
  <p><strong>So, how to solve that? How is the best way to have a windows service with a systray control in the same process, available to any user logging in?</strong></p>
  
  <p>UPDATE: Thanks for the comments so far, guys. I agree it is better to use IPC and I know that it is bad to mix windows services and user interfaces. Even though, I want to know how to do that.</p>