RabbitMQ installation error on Windows server

731 views
Skip to first unread message

michael...@gmail.com

unread,
Apr 17, 2019, 12:18:43 PM4/17/19
to rabbitmq-users
Doing a completely normal installation of RabbitMQ with no configuration other than a RABBITMQ_BASE of a folder on the system

This installation is working just fine on many servers, however, we have found a couple of machines that don't seem to work. The installation of the rabbit service fails


Erlang 21.0.1
Rabbit 3.7.8

During the rabbit installation we see this error in the log:

Extract: rabbitmq.ico
Output folder: C:\Users\Administrator\AppData\Roaming\RabbitMQ
Extract: rabbitmq.config.example
Created uninstaller: C:\Program Files\RabbitMQ Server\uninstall.exe
Installing RabbitMQ service...
C:\Program Files\erl10.0.1\erts-10.0.1\bin\erlsrv: Service RabbitMQ added to system.
"ERROR: Wrong extension for RABBITMQ_CONFIG_FILE: E:\Program Files (x86)\CallCopy\RabbitMQ\rabbitmq"
"ERROR: extension should be either .conf or .config"
Starting RabbitMQ service...
The RabbitMQ service is starting.
The RabbitMQ service was started successfully.
Delete file: C:\Users\Administrator\.erlang.cookie
Copy to C:\Users\Administrator\.erlang.cookie
Create folder: C:\Users\Administrator\AppData\Roaming\RabbitMQ\log
Create folder: C:\Users\Administrator\AppData\Roaming\RabbitMQ\db

We aren't using any configuration files, so why does my Rabbit installer think that I have one?

Like I said, we have done the same installation on many other servers and this error doesn't occur and rabbit is installed properly

Luke Bakken

unread,
Apr 17, 2019, 12:37:08 PM4/17/19
to rabbitmq-users
Hello,

Could you please run the "set" command, redirected to a file, to capture the environment at the time that the installer is run? Please attach the output to your response.

Thanks -
Luke

michael...@gmail.com

unread,
Apr 17, 2019, 12:59:03 PM4/17/19
to rabbitmq-users


So, I was able to fix the installation issues by adding the these two hard coded environment variables in Windows

RABBITMQ_ADVANCED_CONFIG_FILE=E:\Program Files (x86)\CallCopy\RabbitMQ\advanced
RABBITMQ_CONFIG_FILE=E:\Program Files (x86)\CallCopy\RabbitMQ\rabbitmq

And then I placed a blank rabbitmq.conf file and a blank advanced.config file into the location listed above. This allowed RabbitMQ to install properly

Here is the output of the set command before I added those two environment variables:

ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\Administrator\AppData\Roaming
CLIENTNAME=MCONGER-LT2
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=WIN-UUN8JO6AUMB
ComSpec=C:\Windows\system32\cmd.exe
ERLANG_HOME=C:\Program Files\erl10.0.1
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Users\Administrator
LOCALAPPDATA=C:\Users\Administrator\AppData\Local
LOGONSERVER=\\WIN-UUN8JO6AUMB
NUMBER_OF_PROCESSORS=8
OS=Windows_NT
Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 44 Stepping 2, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=2c02
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
RABBITMQ_BASE=E:\Program Files (x86)\CallCopy\RabbitMQ
SESSIONNAME=RDP-Tcp#4
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\ADMINI~1\AppData\Local\Temp\2
TMP=C:\Users\ADMINI~1\AppData\Local\Temp\2
USERDOMAIN=WIN-UUN8JO6AUMB
USERDOMAIN_ROAMINGPROFILE=WIN-UUN8JO6AUMB
USERNAME=Administrator
USERPROFILE=C:\Users\Administrator
windir=C:\Windows

Luke Bakken

unread,
Apr 17, 2019, 1:21:57 PM4/17/19
to rabbitmq-users
Thanks for the information.

My guess is that the user account that is used to install RabbitMQ does not have write permissons to E:\Program Files (x86)\CallCopy\RabbitMQ on the problematic server(s). When the installation runs, a blank advanced.config file is created, for instance.

In general, we recommend using a path like C:\ProgramData\RabbitMQ if a custom RABBITMQ_BASE value is used.

In any case, glad you have a working solution.

Thanks,
Luke

MH

unread,
Apr 17, 2019, 1:33:15 PM4/17/19
to rabbitmq-users
I suspect the problem is the spaces in the path to program files, the setup bat files that install the service have some difficulties with them from my experience. 

Luke Bakken

unread,
Apr 17, 2019, 1:49:34 PM4/17/19
to rabbitmq-users
Hello,

If issues with spaces in the path were the case, the installation would fail every time, on every server. But you report that only "a couple of machines that don't seem to work". So, there must be some difference between the servers that work, and that don't work, if you're using the same RabbitMQ and Erlang installer. If that difference could be discovered, we may be able to account for it.

I'm not saying that the batch files don't have a bug, it's just that we don't know exactly how to reproduce it.

* In the previous discussion to which you link, is that an example from a server experiencing the issue?
* Is the value of RABBITMQ_BASE quoted on the working installations?
* Does the value of RABBITMQ_BASE consistently use backslashes? We had an issue reported where the use of forward slash characters results in the error message you report (https://github.com/rabbitmq/rabbitmq-server/pull/1962)

Thanks,
Luke

michael...@gmail.com

unread,
Apr 17, 2019, 2:03:16 PM4/17/19
to rabbitmq-users
Yeah, most servers it seems to work on. Most of the failures are on Server 2012R2, but then I have other server 2012R2's that work just fine.

Using the same installers on all of them gathered from a local file share. Yes, the set command I posted earlier was from a non working server.

The value for RABBITMQ_BASE we manually set on the servers, but going into system environment variables and typing it in. We don't use quotes, and it's almost generally some variation of drive letter:\Program Files (x86)\CallCopy\RabbitMQ

Fun fact: If you remove all of the rabbit and erlang stuff, and install the older package that we had certified with our software (erlang 20.1 and rabbit 3.7.2) the issue goes away and everything works just fine.

So the issue appears to be with the newer rabbit installer, I just wish it was something consistent that I could pinpoint...

Luke Bakken

unread,
Apr 18, 2019, 5:31:13 PM4/18/19
to rabbitmq-users
I'll compare the scripts from version 3.7.2 to version 3.7.8 to see if anything is obvious that might cause this. Thanks for that information.

Luke Bakken

unread,
Aug 30, 2019, 12:34:15 PM8/30/19
to rabbitmq-users
Hi Michael,

I thought I'd mention that version 3.7.18 will have several improvements for Windows users who have directories configured that contain whitespace or parentheses.

Thanks,
Luke
Reply all
Reply to author
Forward
0 new messages