Running RoonServer as a windows service

I’ve been successfully running RoonServer as a windows service on my Server 2012 R2 headless server – thought I would post a how-to guide for anyone else that needs to do this, it is pretty easy:

  1. Download NSSM (non sucking service manager) and copy nssm.exe to %localappdata%\Local\RoonServer\Application

  2. Start a command prompt in that folder, and run the following commands:

    nssm install RoonServer RoonServer.exe
    nssm set RoonServer ObjectName .\<User> <Password>
    nssm start RoonServer

Note: Replace <User> and <Password> with valid credentials of a local account on the server. I was not able to get RoonServer running as a service under LocalSystem or NetworkService accounts, it requires a specific account to be created.

Using this setup, I am able to get Roon to start when the machine boots, without having to RDP into the machine to log on and start Roon manually. Hope this helps someone!

6 Likes

Thanks Phunge, that’s really useful.

Audiophile Optimiser has a utility to bypass password on startup and rightclicking on RoonServer in the utility tray brings up an option to load it on startup, but the above method doesn’t need AO or a gui.

@phunge Nice idea for folks wanting it to run as a service…

I am running 2012R2 and using RoonServer, along with Audio Optimizer 1.40 and Process Lasso

I run in Minimal Server Mode and changed my default shell in Registry to RoonServer. Now when you RDP into the server all you see if a black screen - nice!!! :smile:

@AudioPhil and his Audio Optimizer 1.40 can set Roon as your default shell, but not RoonServer yet. But if you can do Registry changes (without fear) then no need to wait for the new version of AO.

IMO if you are running 2012R2 then AO is a must - again IMO. Process Lasso is another great program to use and does some great things that AO does not do.

BTW easy to spawn a cmd or powershell window if needed from that black screen via my RDP interface.

Awesome! Thank you!

I love the idea of not having to log into a monitor-less device. I hesitate to say headless, for as long as RooonServer is running on an OS that’s running a GUI, it’s not really headless. Maybe we’ll see RoonServer on ArchLinux someday. But I digress… :wink:

Having RoonServer running after a reboot, without having to RDP in to log on is awesome. Thank you! Are there other benefits to running as a service? Will RoonServer now run at a higher priority?

Thanks for sharing this! :grinning:

I loaded Roonserver after totally removing Roon from my closet server.

I noticed an option on the Roonserver icon on the bottom right. Right clicking it allowed me to place a check on the “load Roonserver as a service at startup?”

1 Like

Are you sure it says “…as a service…”? For under Windows 8.1 it only says “**Launch at startup?*”

And in this case, “Startup” means afer login, not when the OS actually loads. So presently, to get RoonServer running, I have to log in (username, password, etc. Not exactly headless.)

And apparently that is running as a background application, not a service.

Yes, it does say “launch at startup”, which it does for Roonserver and the real app, Roonappliance. Roonserver and RoonAppliance both show up as “background processes” in Task Manager. There is no “Service” process with the Roon name in it, although I could be missing something there.

You do realize that all the “signing in” is done on the controlling device right? Roonserver does not pop up, there is no local UI to sign into.

You choose the headless server (named after the PC) rather than whatever Roon Libraries you have set. In my house I have a closet server with the main Roon Library, and have a set of music files there. I changed its basic app to Roonserver too, so I can use windows Remote Desktop. There never was an audio device set up there, although my main desk PC utilized this Roon Library for its music. I put a spare SSD in my music PC with a copy of my music directory so as to keep things simple for me. (until I need to add music to both that is)

In my setup, I made windows 10 log in automatically, and it loads Roonserver, Fidelizer makes its own system autostart. As the PC is headless, I used the Bios settings to turn on the computer if the power is reconnected. Using Roonserver allows windows Remote Desktop, so I can view the headless PC and make sure it is all working right.

Working smooth as butter this morning with the iPad as controlling device.

You have to do a very clean installation of Roonserver, you can’t simply install Roonserver on a computer that was running Roon. I went almost to the OCD level of detail cleaning all traces of Roon off of the headless PC. If you use Windows for program removal, be sure to check to remove all the settings. I then did repeated searches on that hard disk for “roon” and once that was cleaned up things went smoothly.

Run the Roonserver installation program, run it once, click the little “launch at startup” checkmark, and the computer is setup.

Log on to this library with the iPad and tell it where to look for music, and setup the audio device. Let it do its searching, and you are good to go.

Suggestion to RoonLabs - put both the Roon and RoonServer install programs onto the “Download” page. Currently you have to search the forums for the RoonServer intall program.

Michael - thanks for the help, but I think you missed my points.

First, for sign-in (or log on), I was referring to the Windows process. Until your reply, I was not aware that you could even force an automatic sign-in. A quick Google showed me how. Thanks for mentioning that!

Second, you’ve clarified that on your PC the option to select is just “Launch at startup” vs. the “load RoonServer as a service at startup”, as originally stated. The point is - as you have found for yourself, RoonServer does not appear to run as a service.

So the question this begs - IMO - is since you can configure windows to automatically sign-in (and thus start RoonServer), is there any other value to running RoonServer as a service? Such as running at a higher priority as I originally mentioned? And given that “Exclusive Mode” is an option on RoonServer - though I don’t really understand how that is implemented - it’s possible that there is no performance boost to running as a service (vs. Exclusive Mode). Would love to know.

Thanks for the help.

I am happily using Roon on a headless NUC, and use RDP to control the desktop and reboot when necessary. However, launching RDP also ‘grabs’ the audio from the NUC and thus causes other problems with Roon.

Is there a way to launch an RDP session that only captures the graphics and not the audio? I use Win10 on the NUC and Mac or iPad for remote

Thanks for any pointers.

[quote=“Bones13, post:8, topic:3530”]
You have to do a very clean installation of Roonserver, you can’t simply install Roonserver on a computer that was running Roon.[/quote]
I did and no issues…on my Roon Core.

I am on Windows 2012R2, so maybe you are talking about OSX ???

Roon was installed (my library server - Core), renamed to RoonSever and installed the RoonServer EXE to update Registry and load new versions.

Works great with no issues at all on my end.

BTW, this is the same method Roon recommended.

Windows:
Rename your Roon folder to RoonServer
Download RoonServer for Windows and install it
Launch RoonServer

Yes, the thread title is describing something different from what I’m doing.

I am using Win10, after upgrading that computer from Win7.

I read that too Dshore, but I was after a clean install, and was reporting what worked for me. I had previously tried other attempts with a Roon installation on that PC, hoping to run Roon via RDP, which was of course unsuccessful.

When you configure the RDP connection, tell it to ‘leave audio on the remote pc’ – this will stop the RDP connection from messing with the audio.

Thank you Phunge. I thought I had looked at every possible menu, but somehow, I had missed that one!

Problem sorted now :grinning:

1 Like

I’m running Win2012R2 with an administrative login - Administrator. Following the instructions re using nssm it seems that Win doesn’t allow this for the admin account.

Seeing as I’m not a Windows user anyone care to share the CLI to create a regular user I can use for launching Roon as a service? I added a user x via the win gui but it seems the user account attributes are lacking some or other capability windows expects to have the user launch a service. Makes Linux seem a breeze :confounded:

Today I tried to solve the problem that hqplayer (as shell in AO) and RoonServer didn’t want to start at the same time.
My system is Win Server 2012 (not the R2 version). I use RoonServer and HQPlayer at that same machine and it is running headless.
I tried different things amongst them define HQP and RS as scheduled tasks at startup… nothing worked, Either one of the two didn’t start.
Above solution, using NSSM and defining RoonServer as a service works brilliantly under my admin account. I now could set AO to minimal server, set HQPlayer as shell and did the Ultimate tweaking through AO.

Thanks for this solution.

FYI the Windows Anniversary auto-update removed my RoonServer nssm service (and crashed my machine, thanks Microsoft). Reinstating the nssm service using the instructions at the top of this thread worked ok.

Hi all

I have a Core i7 NUC that I use as a headless server under Win 10 V19043.1288. So far I have always had to log in and manually restart roon to have a roon server. I now tried to run Roon as a service. I ran CMD as an administrator and entered the commands as asked in this article. This works for the first two commands but not the last one where I get an error “RoonServer: Unexpected status SERVICE_STOPPED in response to START control.”

If I try to start the service from the Services app, I also get an error that the service could not be started on the local computer.

It also says to review the system event log, where I find “The RoonServer service terminated with the following service-specific error: The system cannot find the path specified.”

In the application log I find “Failed to start service RoonServer. Program RoonServer.exe couldn’t be launched. CreateProcess() failed: The system cannot find the file specified.”

The service app says the path to executable is
“C:\Users\myuser\AppData\Local\Roon\Application\nssm.exe”

Any idea what I can do to fix this ?

Regards
Chris

As Roon is installed for myuser (“C:\Users\myuser\AppData\Local\Roon\Application\nssm.exe”), you told the service to run as myuser and entered the correct password for this account when executing the second command, right? myuser is a local account and not some Microsoft cloud account , right?

lol … never heard of that. I have to look into it vs. Server-Any. (Been away from windows IT like stuff a long time. Not even sure if it exists anymore under Win10)

I’ve been using the scheduler to start Roon on Boot (no need to login at console or RDP this way either, and restarts on crash). It works fine except for when I want to stop RoonCore to do file system / music file tagging or other management and it would be best to not have RoonCore scanning changes live (and creating contention at times). Its nowhere as convenient as stopping a service tho. Which was always my preference. Never loved that Roon Labs never provided it.

So … was just thinking about doing the same with server-any the last few days. Glad I saw this. Saves me from needing to relearn something else from scratch. :wink: thanx.