I wrote about various troubles nesting SQL Express installations a few days ago here.
I just wanted to add a little more info for those interested.
Come to find out, it's still possible for SQL Express to end up requiring a reboot, which, if you're install was planning on performing DB tasks, puts a cold, wet, nasty damper on your fireworks quick.
But, from what I can tell so far, it's almost always going to be related to a file or files that the SQLExpress install needs to replace but can't because they're locked.
I'd had some difficulty finding any info on how you might determine exactly what file(s) it was that were locked when I came across this post on MS Technet.
Basically, immediately after you install, but BEFORE you actually reboot, fire up REGEDIT and check out:
HKLM\system\currentcontrolset\control\sessionmanager\pendingfilerenameoperations
The value should contain the names of any files that couldn't be replaced during the install and are queued for replacement.
At that point, it's just a matter of determining which process(es) have those files open, and making sure your install verifies that those processes are closed before allowing the installation to continue.
In my case, so far it's always been an issue with MSDE 2000 already installed a running on the machine. The SQLDMO.DLL is used and locked by the running MSDE process, but the SQLExpress install needs to replace it.
It's a royal pain to be sure, but at least there is something that can be done about it.