Sometimes whatever you do, windows updates fail.
The solution is to not install all updates at once. It seems if some updates are installed before others it causes a failure which in turn causes windows to revert all changes. The usual culprit is the .NET framework stuff and sometimes drivers