This post documents how to resolve the following error message, which may appear for no particular reason, and flood the Windows event log:
Failed to schedule Software Protection service for re-start at 2116-09-14T16:54:27Z. Error Code: 0x80041316.
The following steps will resolve the error on Windows Server 2012r2, but based on other links, similar steps should work for Windows 8, 8.1, or Server 2012.
The root cause, in my case, was a corruption in the XML files that control task scheduling for the Software Protection service. I am not sure what caused this error, but it appeared to start after a domain controller was not shut down cleanly.
Microsoft’s official documentation reports that another cause may be a mismatch between the permissions used to run the task and the permissions on the files that control the task. However, most people have reported that the problem is caused by corrupted XML files. Also, note that the Microsoft documentation is inaccurate when it states that the task must run as the NETWORK SERVICE account. If the task is triggered by an interactive user logon, it should run as account Interactive.
The most helpful TechNet thread describes several ways to fix the corrupt XML files. I did not have to do anything involving the Registry, so I recommend the following solution. Since I have other domain controllers running Windows Server 2012r2, I did the following:
- On the problem system, back up all files in the directory C:\Windows\System32\Tasks\Microsoft\Windows\SoftwareProtectionPlatform
- From a system that is working, copy all files in the directory C:\Windows\System32\Tasks\Microsoft\Windows\SoftwareProtectionPlatform. Put them in a location where you can access them on the problem system. DO NOT attempt to paste them on top of the existing files in that path!
- You can also copy the files from a Windows installation disk.
- Re-name the files to add an XML extension so that they can be imported.
- Navigate to to Computer Management->System Tools->Task Scheduler->Task Scheduler Library->Microsoft->Windows->SoftwareProtectionPlatform
- Right-click on each task and select Delete. You did back them up, right???
- Right-click on SoftwareProtectionPlatform and select Import Task…
- Import each of the XML task files that you copied from the other computer.
- Go to Computer Management->Services and Applications->Services and restart the Software Protection service. It wouldn’t hurt to reboot the system.
- Log out, log back in, and check the Event Viewer to see if the errors have stopped.
One TechNet user in that thread reported that they didn’t need to obtain files from a working system. On the problem system, they right-clicked on each task, selected Export, and saved the XML to another location. They then deleted each task and re-imported from the XML files. This would be the easiest solution, but I haven’t verified that it works. Please let me know if it worked for you.