I have a service (an old 4D-based application) which has been happily running on Windows Server 2003. With the pending EOL for 2003, I'm trying to migrate to a new 2012R2 host.
I set up the service using the sc command as type= own, type= interact
. When starting the service from services.msc the starting message appears and slowly moves until it announces that starting the service has failed. While the progress bar is running, the service appears to be running normally. One the error appears the service is killed.
Under Server 2003 interact mode was required to run the service as it opens a status/control window on session 0. I know this functionality has changed and is deprecated on Server 2008+ and I believe it is the root of my issue.
Is there anyway to improve interactive services compatibility on Server 2012?
The following Tech Tip: 4D Server as a service on Window Server 2012 may be helpful:
Tech Tip: Accessing 4D server window when ran as a service on Windows explains the steps that must be taken to be able to interact with 4D Server when it is running as a service on Windows.
There has been a change in defaults on Window Server 2012 that adds a few steps to what has to be done to be able to interact with 4D Server when it is running as a service.
The following post on social.technet.microsoft.com explains the first steps that must be taken on Windows Server 2012 before the stepe in the Tech Tip referenced above will work.
Windows Server 2012 no longer allows interactive services, by default, which makes the Interactive Services Detection service unnecessary.
If you must run a legacy application that installs an interactive service on Windows Server 2012, you may sacrifice server stability for compatibility by changing the following registry value from the default of "1" to "0".
After doing so and rebooting, the Interactive Services Detection Service will start.