I think you've narrowed down the problem to that wups.dll file.
OK, its dangerous and this is officially not advice and is a suggestion and I cannot be held responsible for any damage, physical or otherwise, that may or may not happen to your machine (or whatever lawyers say to mean "don't blame me if this all goes to hell
after following my advice").....
...it may fix itself if you try removing the wups.dll file to another location so it tries to go back to source to get that DLL when loading the service. Remember to copy the wups.dll file somewhere where you can put it back, though.