When I got my iPhone 6 months ago, I had to upgrade vile and hated iTunes to activate it. After the iTunes upgrade, it wanted me to restart the computer. When the system booted back up (and on every subsequent reboot), there was a crash in userinit.exe. Unable to find any trace of a surgical solution on the web, I resorted to the blunt solution: reinstall Windows (in place).
After reinstalling, the userinit.exe crash went away, but then a new problem surfaced that has plagued me constantly until today: Windows Update fails on all updates. Back when the problem first occurred, I could find no solution that mentioned the particular problem, which surfaced as error 80246002 or “AUClnt FATAL: Error: 0x80004002. wuauclt handler: failed to spawn COM server” in C:\WINDOWS\WindowsUpdate.log. At long last, thanks to this page, I found the solution, KB943144, posted October 26, 2007. The short answer:
net stop wuauserv
regsvr32 %windir%\system32\wups2.dll
net start wuauserv