Windows offers this feature already. Remember how explorer restarts after it crashes? All you have to do is set
LSSetAsShell
in step.rc and restart litestep.exe. Once the litestep process exits Windows will restart the shell - but there are a few problems. The API function it uses is completely undocumented and we haven't fully figured it out.
First, for some reason Windows always restarts the HKLM shell. Thus this technique doesn't really work if you have LS set up on a per-user basis. Second, LSSetAsShell has numerous negative sideeffects, such as explorer windows stopping to refresh.
Also note that this doesn't work if you
terminate the shell process (via task manager or the ctrl-alt-f1 menu).
Now if all you want to do is start LS with a different theme... remember that litestep.exe can take the path to a config file as a command line parameter. It'll use that file instead of step.rc.