rtpMIDI / VMS loaded by a service instead of a application

Please let our ADS show!

This sites offers only FREE software and it's supported by a few advertisement boxes (no intrusive popups).
Please:

  • disable your AdBlocker by adding CoolSoft website to whitelist
  • give the proper cookie consent
  • enable JavaScript for this website

This seconds wait is to let you update your browser configuration...

Ok, I've done the required changes... now show me your content!
!!! Please enable JavaScript !!!
Posts: 1
Joined: October 24, 2016 - 10:21
rtpMIDI / VMS loaded by a service instead of a application

I'm messing around with rtpMIDI to connect sequencer software on a Win XP VM to VMS on the (Win 7) host machine.  Although it all ties together well enough to get sound out of VMS, there is no way to get at the UI. The tray icon does not appear, and although I can load the VirtualMIDIsynth executable, it merely starts a new instance.

rtpMIDIService, a Windows service, seems to do the actual calling of VMS, and VirtualMIDIsynth.exe loads up under the SYSTEM user.  I tried changing the logon of rtpMIDIservice to my local username, and then saw VMS load with that username, but it made no difference. 

Any way around this?

My OS is Windows 7 SP1, x64.

Posts: 1972
Joined: March 25, 2012 - 01:19
Re: rtpMIDI / VMS loaded by a service instead of a application

AFAIK there's no way for a windows service (running in session 0) to access the desktop.
That's because the session 0 is "hidden" from user.

I suppose that rtpMIDI automatically starts with Windows, so it also loads VirtualMIDISynth.exe.

The first thing that comes to my mind is:

  • disable rtpMIDI service autostart
  • stop rtpMIDI service
  • start VirtualMIDISynth.exe manually (as user)
  • start rtpMIDI service (as SYSTEM)

VMS driver component starts an instance of VirtualMIDISynth.exe only if no running instance is found.
Since it runs as SYSTEM it can access all processes, including the current user ones, so the running process should be found.

Could you please check it out? (should be easier for you, having all the required components ready...)

PS: if it works, then this procedure can be easily automated with a .bat file.

Posts: 1
Joined: January 25, 2020 - 23:13
Re: rtpMIDI / VMS loaded by a service instead of a application

I know this thread is old, but i am now facing exactly the same issue.

I have tried the instructions provided here, but it seems that rtpMidi still starts it's own instance of VirtualMidiSynth regardless. Even if i run the service under the local desktop username it starts a separate instance (that has no visible GUI).

Posts: 1972
Joined: March 25, 2012 - 01:19
Re: rtpMIDI / VMS loaded by a service instead of a application
dychicks wrote:
it merely starts a new instance.

Do you mean when you next reboot the machine?
Yes, mine was just a temporary workaround to check if the driver component (running in rtpMIDI service with service SYSTEM account) can detect and use the manually-started VirtualMIDISynth.exe instance running with your user account.

So:

  1. stop the service
  2. kill the VirtualMIDISynth.exe started by the service (you should find it in task manager by showing "all processes by all users"
  3. manually start VirtualMIDISynth.exe with your user account (and check it's running with your account in Task Manager)
  4. start rtpMIDI service again

Since starting a new process within a different user account session is such a hard task (see here for some examples), I'd like to know if this workaround works.
If the service can detect and use the manually-started VirtualMIDISynth.exe instance, then I could spend time trying to start VirtualMIDISynth.exe within a different (user) account.
If not, then I won't spend time for something leading to nowhere...