I have an application that manages the heavy processing for my project, and need to convert it to a \"Windows Service.\" I need to allow running multiple versions
There is option #4 that I'm successfully using in my project aka "named instances".
Every installation of your app has custom name and each installation has its own service. They are completely independent and isolated from each other. MS SQL Server is using this model if you try to install it multiple time on single machine.