I wrote a windows service it it works and STARTS fine in most operating systems. I have narrowed down the fact that Windows 10 upgraded from windows 8 causes a problem where the service does not start on reboot when the service is set to automatic. I find that start delayed does work ok. Wondered if anyone knew of nuances between a full from scratch install and an upgrade that might point to the narrowing in on this elusive issue.
When it does not work there are no logs or events generated. It does not seem to try and fail - just not run (start).
I just came across an installation where it works fine and the OS was upgraded from Win 8. There seems to be some dependency that is different. The service was written against .Net Framework 4.0 x86. The service starts manually just fine. automatic (at boot) startup does not work. I was about to say it fails - but that is not the case as it does not seem to even be trying.
The problem might be due to the fact that associated services are not running. You will need to restart those services to fix the problem by following the steps below. Type Windows Update in the search bar then choose Change Settings. Under Important updates, click on Never check for updates.
Select Start > Settings > Update & Security > Windows Update . Select Schedule the restart and choose a time that's convenient for you.
We also have the same problem with a C++ windows service that we created. Automatic startup works fine for most people. However we have 5 instances now where the customer's service was working fine and now it will not automatically start up.
The only thing that seems to work is setting to delayed start, but this is not a good option as we would like the service to be started right away. We've also tried adding service dependency of NetLogon - which did not work.
Also note that this was working fine for customers and at some point (windows update maybe?) it just stopped automatically starting.
The customers are also able to go into services and start the service manually, and it works. I'll be following this thread and hoping for a better solution than delayed start.
What fixed it for us is, if you can change the service executable yourself:
In the project file change the Prefer 32-bit flag to false, then reinstall the service.
Check your service with CorFlags.exe. The 32BITREQ and 32BITPREF should be 0.
Version : v4.0.30319
CLR Header: 2.5
PE : PE32
CorFlags : 0x1
ILONLY : 1
32BITREQ : 0
32BITPREF : 0
Signed : 0
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With