Windows Service Terminates on Logout

Hello. I've recently installed ejabberd 2.0.0-rc1 on Windows SBS 2003 using the installer. The service will start and run successfully from the shortcut on the desktop, but once I log off the server, the service terminates and users get disconnected. Any help would be greatly appreciated. Thanks in advance.

Use the Windows service

The installer also adds a Windows service, declared as manual start. You can configure that Windows service, to be started automatically.

Windows Service Trouble

Thanks for the response.

After I initially ran the installer, the service was created as "ejabberd" and its startup type was set to manual. I updated it to start automatically, but that didn't work. The logon settings are set to the local system account and it is not allowed to interact with the desktop.

The strange thing is that when I start the service using the shortcuts created by the installer, the service starts (as evidenced by my ability to connect with Pidgin) but the service listing under Computer Management does not indicate the ejabberd service is running.

I tried removing the service and re-adding the it using the postinstall.bat file, but the behavior hasn't changed. Thanks again for any help.

Install with an account admin

fisherbt wrote:

After I initially ran the installer, the service was created as "ejabberd" and its startup type was set to manual. I updated it to start automatically, but that didn't work. The logon settings are set to the local system account and it is not allowed to interact with the desktop.

Try to run the installer with an account that has administrative privileges in the operating system.

fisherbt wrote:

when I start the service using the shortcuts created by the installer, the service starts (as evidenced by my ability to connect with Pidgin) but the service listing under Computer Management does not indicate the ejabberd service is running.

The prefered way to start ejabberd is using the script ejabberdctl. Any POSIX-compliant shell (Bash, Dash, ...) can run that script, so it can be used in most operating systems. Unfortunately, Microsoft Windows doesn't include such a shell, so Bash is included by the installer. The shortcuts use ejabberdctl to start ejabberd.

In most operating systems, there's an easy way to tell the operating system to start ejabberdctl at start time, for example using Init. However, this seems not possible in Windows. So, the installer for Windows doesn't install ejabberdctl as a service, instead it uses a small Erlang/OTP program (erlsrv.exe) to install an ejabberd service in Windows. But this service starts erl directly, without using ejabberdctl.

So, it's normal that you see the Windows service stopped when you start ejabberd using the shortcut: the shortcut doesn't start the Windows service.

I've set the ejabberd

I've set the ejabberd service to start automatically, and set the account with administrative priveleges, but it never works.

When i try to run the service manually, i get the following error:

"Could not start the ejabberd service on Local Computer

Error 1075: The dependency service does not exist or has been marked for deletion."

Everything works fine if i am logged in and start the service from a batch file. But fails as soon as i log off.

Found a fix for this "Error

Found a fix for this "Error 1075: The dependency service does not exist or has been marked for deletion"

1. Open RegEdit
2. Navigate to this key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ejabberd
3. Under "DependOnService", change "LanmanWorkstation" to "" (empty string)
4. Reboot

This worked on my Windows Server 2003 installation. At least, it let me start the service successfully. Haven't tried running it automatically from boot.

service stops on logout

Greetings,
I'm having the same type of problem and have followed this advice, but the service still stops when I logout. The service is set to automatic and to login as Local account. If I reboot the machine and login the service is running. Then if I logout and log back in it is not. "Allow service to interact with desktop" is NOT checked. There was an error reported during the install, but I could not tell what the error was. The service seems to work correctly when it's running.
Thanks!

I'm having the same problem

Anyone find an answer to this one? I have other System services that don't exhibit this behavior so there must be something specific to ejabberd or erlang runtime that needs a console.

I tried removing the workstation dependancy as well with no luck.

If I reboot the system with the service set to automatic, ejabberd service starts fine.

If I login with remote desktop with the /console option, and then logout, ejabberd stops running immediately.

Is it something to do with stdin/out disappearing when the console logs out? Just a wild guess and wondering how I might fix/avoid this.

alf

service problems

I found a solution. I'm using openfire and sparks. Worked out of the box.

I don't see how that is a

I don't see how that is a solution.

strange enough version 2.1.8

strange enough version 2.1.8 works fine as a service under windows. But the newest version today, 2.1.11 does not.
Obviously the last tweaks made jabber worse for windows.

the problem is still there with ejabberd 2.0.5

Hi all,

any updates, workarounds? I've submitted a bug EJAB-942 (https://support.process-one.net/browse/EJAB-942) for this issue.

Syndicate content