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.
RabbitMQ will fail to start with the error "RabbitMQ: Erlang machine stopped instantly (distribution name conflict?)" 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.
Similarly, rabbitmqctl will expect command line parameters to be encoded in UTF-8, and display strings as UTF-8. The console will instead provide and expect some country-specific encoding.
This makes it impossible to use rabbitmqctl.
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.