[rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not.

Matthias Radestock matthias at rabbitmq.com
Mon Nov 5 22:57:04 GMT 2012


Daniel,

On 05/11/12 22:12, Daniel Lewis wrote:
> Well for instance, the lines below generate the errormessage:
>
> "!ERLANG_SERVICE_MANAGER_PATH!\erlsrv" list !RABBITMQ_SERVICENAME! 2>NUL 1>NUL
> if errorlevel 1 (
>      "!ERLANG_SERVICE_MANAGER_PATH!\erlsrv" add !RABBITMQ_SERVICENAME!
> ) else (
>      echo !RABBITMQ_SERVICENAME! service is already present - only updating service parameters
> )
>
> but the condition still appears to be correct

Right, but why would the output redirection cause a "system cannot find 
the file specified" message? I can't see anything wrong with the output 
redirection. Can you? Does it work for ordinary commands, e.g. "dir 
2>NUL 1>NUL"?

> Sorry - here is the set command:
>
> C:\PROGRA~1\Ticketmaster\TMDS\rabbitmq\sbin>"!ERLANG_SERVICE_MANAGER_PATH!\erlsrv" set !RABBITMQ_SERVICENAME! -machine "!ERLANG_SERVICE_MANAGER_PATH!\erl.exe" -env ERL_CRASH_DUMP="!RABBITMQ_BASE_UNIX!/erl_crash.dump" -workdir "!RABBITMQ_BASE!" -stopaction "rabbit:stop_and_halt()." -sname !RABBITMQ_NODENAME! !CONSOLE_FLAG! -args "!ERLANG_SERVICE_ARGUMENTS!"  1>NUL
>
> which expands to:
>
> "c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin\erlsrv" set RabbitMQ -machine "c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin\erl.exe" -env ERL_CRASH_DUMP="C:/Documents and Settings/Administrator/Application Data/RabbitMQ/erl_crash.dump" -workdir "C:\Documents and Settings\Administrator\Application Data\RabbitMQ" -stopaction "rabbit:stop_and_halt()." -sname rabbit at DANIEL-WYSE  -args "  -boot \"C:/Documents and Settings/Administrator/Application Data/RabbitMQ/db/rabbit at DANIEL-WYSE-plugins-expand\\rabbit\"  -s rabbit +W w +A30 -kernel inet_default_listen_options \"[{nodelay,true}]\" -kernel inet_default_connect_options \"[{nodelay,true}]\"  -kernel error_logger {file,\\\"\"C:/Documents and Settings/Administrator/Application Data/RabbitMQ/log/rabbit at DANIEL-WYSE.log\"\\\"}  -sasl errlog_type error -sasl sasl_error_logger {file,\\\"\"C:/Documents and Settings/Administrator/Application Data/RabbitMQ/log/rabbit at DANIEL-WYSE-sasl.log\"\\\"} -os_mon start_cpu_sup true -os_m
 on start
 _
disksup false -os_mon start_memsup false -mnesia dir \\\"\"C:/Documents and Settings/Administrator/Application Data/RabbitMQ/db/rabbit at DANIEL-WYSE-mnesia\"\\\"  install"

That looks reasonable.

> When I do a rabbitmq-service.bat list, it shows me this:
>
> "c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin\erlsrv" list RabbitMQ
> Service name: RabbitMQ
> StopAction:
> OnFail: ignore
> Machine: c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin\erl.exe
> WorkDir:
> SName: RabbitMQ
> Priority: default
> DebugType: none
> Args:
> InternalServiceName: RabbitMQ01cdbba1e5d12470
> Comment:
> Env:

You got the above after running "rabbitmq-service.bat remove" followed 
by "rabbitmq-server.bat install"?

I wonder whether it's unhappy about the long, non-DOS-y paths. You may 
want to experiment with your env var settings s.t. the expanded command 
line above only has very short paths in it. e.g. "C:\RabbitMQ" instead 
of "C:\Documents and Settings\Administrator\Application Data\RabbitMQ".

Regards,

Matthias.


More information about the rabbitmq-discuss mailing list