Sure, you can do this, as long as the user account can write to the necessary directories.
The installer requires that you use an administrative user to run it. After installation, RabbitMQ will use that user's %AppData%\RabbitMQ directory as the location to save data. So, if you install using the administrative user admin but want to run using the account non_admin, you would switch the service account to non_admin, then change the permissions on C:\Users\admin\AppData\Roaming\RabbitMQ so that non_admin has the necessary permissions to work.
I suggest using the following installation process, which I just tested on Windows 8.1 using Erlang 20.3 and RabbitMQ 3.7.7
* Install Erlang
* Set the system-wide environment variable RABBITMQ_BASE to C:\ProgramData\RabbitMQ
* Create the C:\ProgramData\RabbitMQ directory and give your non-admin user "Full Control" access to it and its sub-objects (inheritance enabled)
* Open an administrative command prompt and ensure that RABBITMQ_BASE is set correctly by running echo %RABBITMQ_BASE%
* Use that command prompt to install RabbitMQ from the .exe installer
* The installer creates a "RabbitMQ Command Prompt (sbin dir)" start menu item, open that
* You will probably have to copy the Erlang cookie to your admin user's home directory. Most likely these are the commands to do it - change the destination paths as necessary:
del /F C:\Users\admin\.erlang.cookie
del /F C:\Users\non_admin\.erlang.cookie
copy /Y C:\Windows\system32\config\systemprofile\.erlang.cookie C:\Users\admin
copy /Y C:\Windows\system32\config\systemprofile\.erlang.cookie C:\Users\non_admin
* Run .\rabbitmq-service.bat stop
* Change the RabbitMQ service to use the non-admin user via services.msc. I used a new local account that is a regular user account.
* Re-start the RabbitMQ service
* Verify that you are running as the non-admin user. In the "RabbitMQ Command Prompt", run this:
.\rabbitmqctl.bat eval "os:cmd(""whoami"")."
In my environment, the above outputs the following, which is my non-admin user:
"win81\\y-lbakken\r\n"
Thanks,
Luke