Openfire won't start after upgrading from 4.0.1 to 4.0.2 on Windows Server 2012

It ran fine under 4.0.2 until I rebooted the server this morning for the first time since the upgrade. I have it running as an automatic service. Starting the Openfire service fails with Error 1067: The process terminated unexpectedly. This is also logged as Event Viewer Error 7031 with the same description.

The service runs under a domain service account that has administrative rights on the D:\Program Files (x86\Openfire directory, has been granted Log On As A Service rights in the local GPO, and is also a local administrator on the 2012 server.

Uninstalling and reinstalling the service via command line as admin makes no difference. Disabling UAC makes no difference. Rebooting the server makes no difference.

Whether or not the service is installed, trying to run Openfire as an application yields the following error:

Because I have no idea what this means or how to troubleshoot it, I installed the latest version of Java onto the server. This also made no difference. I did a Google search on “java.lang.ClassNotFoundException” but the results were too varied and foreign for me to make any sense of them.

Can anyone help me determine what the problem is here? The only thing that changed is an upgrade from 4.0.1 to 4.0.2.

NOTE: Before upgrading from 4.0.1 to 4.0.2, I saved a copy of the Program Files (x86)/Openfire directory, just in case. I just restored it and now everything is working fine under 4.0.1.

Updating to 4.0.2 definitely breaks our stuff.

The upgrade script doesn’t check for the service is running or not. its likely you upgraded while the service was still running. make sure the service is stopped and verified via task manager, and try your upgrade again.

I specifically remember stopping the service first, but we all know how memory works. I’ll try it again during off-hours.