1

I have written and compiled an AutoIT script ("BiconNET.exe") which interacts with the user when double-clicked. While running, the taskmanager lists the program as an App. Now, I would like to remotely start BiconNET.exe. So I installed and configured openSSH, Cygwin and Putty. Server and client run on Windows 8.1. I create the SSH-connection using the windows login credentials from the server. I start BiconNET.exe through the Putty conmmandline and I see instantly BiconNET.exe pop up as a service in the taskmanager of the server. But no user interaction follows. The service remains silent, and BiconNET.exe doesn't do any of the tasks its supposed to do. What is wrong here?

I guess I need to achieve that BiconNET.exe runs as an App, not as a service!?

This is what I tried so far:

  1. I tried a workaround using a batchfile, but same issue here: Doubleclicking the batch-file on the Server works fine (BiconNET.exe interacts with the user as wished), but running it through Putty BiconNET.exe gets listed as a service, not doing anything.
  2. I also tried to auto-elevate the batch file using this code. No luck.
  3. I excluded BiconNET.exe from the "Data Execution Protection" (DEP) in the advanced system properties of the server. Makes no difference

I would like to understand where the problem comes from, and how to solve it. Thanks for helping.

Community
  • 1
  • 1
dejhost
  • 51
  • 3
  • Services can't interact with users. DEP has nothing to do with anything here. It sometimes prevents code inserted by a buffer overrun from executing. The service UI0Detect allows legacy services to interact with the user - but it's very clunky. The 0 in UI0Detect is session 0 where services are. Interactive user is session 1. UI0Detect is for when services and users were both in session 0 in older versions of windows. The changes were for security. –  Mar 23 '16 at 11:30
  • Thanks Noodles. I now allow for interactive services (a test confirmed). However, my executable doesn't cause a notification on behalf of UI0Detect-service. Will digg a little deeper into this tomorrow. I'd be very grateful for more input. – dejhost Mar 23 '16 at 20:13
  • Does that mean that BiconNET.exe actually runs - until stopped by a messagebox? – dejhost Mar 23 '16 at 20:29
  • Probably. `tasklist /svc` shows what services are in what exes. –  Mar 23 '16 at 21:42
  • I think what you need to do is setup OpenSSH to directly launch `BiconNET.exe` rather than `CMD.EXE`. I don't know offhand how to do this, but since OpenSSH can run the user's chosen shell on *nix I'm guessing it can be configured to run an arbitrary program on Windows. – Χpẘ Mar 24 '16 at 01:05
  • https://blogs.msdn.microsoft.com/patricka/2010/04/27/what-is-interactive-services-detection-and-why-is-it-blinking-at-me/ –  Mar 24 '16 at 05:02
  • I can confirm, that BiconNET.exe actually works fine, if no messageboxes stop the running script. So this good to know. The links about PSEXESVC.exe explain, but do not solve the problem: How to start the BiconNET.exe in session 1 instead of session 0? btw.: Both computers (client and server) run windows 8.1, 64bit. No blinking taskbar appeared so far... – dejhost Mar 25 '16 at 08:52
  • Found some usefull links. [link1](https://blogs.msdn.microsoft.com/winsdk/2013/04/30/how-to-launch-a-process-interactively-from-a-windows-service/) [link2](https://www.autoitscript.com/forum/topic/161190-run-in-logged-on-user-session-as-system-account/) Well. nobody said it's going to be easy, right? – dejhost Mar 25 '16 at 09:16

0 Answers0