Похоже, что запустить контроллер UniFi как настоящую службу x64 возможно, но я бы не рассчитывал, что настройки сохранятся после обновления. Гораздо проще использовать встроенную Java JRE или системную x86 JRE. Чтобы запустить на x64 JRE, начинайте с инструкций из базы знаний, вплоть до команды «java -jar lib\ace.jar installsvc». Похоже, что существует несовместимость с версией Procrun (похоже, она относится к Tomcat6?) и методом запуска «exe» под x64. Скачайте бинарники Windows из исходного проекта и распакуйте их в новую папку под <unifi_base>, например, commons-daemon. Измените существующую запись службы UniFi в реестре: удалите значение WOW64 DWORD и обновите ImagePath, указав путь к нативному «prunsrv.exe» в каталоге «amd64» (у меня это «C:\ProgramData\Ubiquiti UniFi\commons-daemon\amd64\prunsrv.exe»). Теперь, когда у вас есть x64-исполняемый файл, вы можете загрузить jvm.dll для x64. Создайте и запустите ярлык на «prunmgr.exe» с аргументом командной строки «//ES//UniFi» (или просто запустите его напрямую). На вкладке Java обновите «Java Virtual Machine», указав точный путь к серверному «jvm.dll», например, «C:\Program Files\Java\jre7\bin\server\jvm.dll»; на вкладке Startup измените режим на «jvm». По крайней мере, у меня именно так получилось. Возможно, для вас это не стоит усилий, но я, как говорится, упёртый. Наверное, стоит добавить, что моя служба работает под учётной записью виртуальной службы в Windows Server 2012 Essentials. Я точно не помню, был ли по умолчанию «Local Service» или «Local System», но с первым, думаю, могут возникнуть проблемы.