Windows Quirks

We aim to make RabbitMQ a first-class citizen on Windows. However, sometimes there are circumstances beyond our control that can introduce quirky behaviour. This page documents them.

Cannot install to a path with non-ASCII characters

RabbitMQ will fail to start when installed to a path with non-ASCII characters in it. This is because we need to pass the location of the compiled Erlang files to the Erlang VM. It expects input in UTF-8, but the console will typically use some other encoding.

Workarounds:

rabbitmqctl shows non-ASCII characters incorrectly in list commands

Similarly, rabbitmqctl will return strings as UTF-8, which will then be interpreted incorrectly by the console in some country-specific encoding.

Workarounds:

Installing as a non-administrator user leaves .erlang.cookie in the wrong place

This makes it impossible to use rabbitmqctl.

Workarounds:

Service must be reinstalled when activating / deactivating plugins

When activating or deactivating plugins and running RabbitMQ as a service you must reinstall the service for changes to take effect.

Shutting down Windows

It is necessary to take precautions when shutting down Windows and using versions of Erlang prior to R15B02. Due to limitations in older versions of the underlying Erlang VM, the broker will not go through a controlled shutdown sequence when Windows shuts down. If RabbitMQ is installed as a service using an older version of Erlang then you must stop the service manually before shutting down Windows. Failure to do so may cause the broker to spend longer on recovery when started subsequently. The use of Erlang R15B02 or later is recommended to avoid this problem.