Você não pode simplesmente executar qualquer EXE antigo como um serviço. Os serviços precisam responder a retornos de chamada do Gerenciador de controle de serviços e a execução de um EXE sem serviço como um serviço causará as mensagens que você está vendo.
Você pode usar uma ferramenta como NSSM , SRVANY ou qualquer um de vários outros programas "wrapper" de serviço para obter um EXE sem serviço para ser executado como um serviço.
Na frente específica de Java, o aplicativo WinRun4J age como substituto de "java.exe" e pode ser usado para iniciar Java programas como serviços. Eu o usei quando a linha de comando para um programa Java era muito longa para o Gerenciador de Controle de Serviços.