Miałem podobny problem, ale powstał po użyciu kochanego regedita (zastosuj zabezpieczenia dla klucza CLSID i wszystkich podkluczy - bestia skasowała wszystkie prawa).
W konsoli odzyskiwania skopiowałem plik software z \windows\repair\ do \system32\config\, po czym byłem w stanie uruchomić system, który był tak pusty, jak po zainstalowaniu.
Następnym krokiem było skopiowanie najnowszego pliku _REGISTRY_MACHINE_SOFTWARE z c:\System Volume Information\ do folderu windowsa i ponowna podmiana pliku software w \system32\config\. Po tym zabiegu miałem wszystko przywrócone.
Spróbuj założyć nowe konto użytkownika i sprawdź czy system na nim wygląda poprawnie. Jeśli nie, to zrób ręcznie to, co robi system, bądź explorer dla każdego usera:
// wklej do pliku bat
Kod:
C:\WINDOWS\system32\ie4uinit.exe
C:\WINDOWS\system32\regsvr32.exe" /s /n /i:/UserInstall C:\WINDOWS\system32\themeui.dll
C:\Program Files\Outlook Express\setup50.exe" /APP:OE /CALLER:WINNT /user /install
C:\WINDOWS\system32\rundll32.exe" advpack.dll,LaunchINFSection C:\WINDOWS\INF\msmsgs.inf,BLC.QuietInstall.PerUser
C:\WINDOWS\system32\rundll32.exe" advpack.dll,LaunchINFSection C:\WINDOWS\INF\wmp.inf,PerUserStub
C:\Program Files\Outlook Express\setup50.exe" /APP:WAB /CALLER:WINNT /user /install
C:\WINDOWS\system32\regsvr32.exe" /s /n /i:U shell32.dll
C:\WINDOWS\system32\Rundll32.exe" C:\WINDOWS\system32\mscories.dll,Install
C:\WINDOWS\system32\shmgrate.exe" OCInstallUserConfigIE
C:\WINDOWS\system32\RunDLL32.exe" IEDKCS32.DLL,BrandIE4 SIGNUP
C:\WINDOWS\system32\shmgrate.exe" OCInstallUserConfigOE
Możliwe że czegoś tu brakuje, nie przechwyciłem programów uruchamianych przez CreateProcess.