Nested SQL Express Installation – Part Deux

Filed under Installations, SQL

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.

2 Comments

  1. Ralf says:

    Hey, it’s 2007. Isn’t there a way to programatically stop the offending process and unlock the file? Without rebooting? That’s sooooo Windows95.

    Tangental thought: How many modern installers force a reboot when it’s not really necessary? It’s an easy option to check "Reboot=Yes" in whatever install-builder tool being used, and I suspect many turn it on with a shrug.

  2. Darin says:

    I’m guessing far too many just set the "Reboot=Yes" flag when other solutions are available. Unfortunately, there’s often no time allocated to the install for investigating "other solutions". Remember, the install is an annoyance that’s only dealt with during the last 1/100th of 1 percent of the project dev cycle.

    The prob with just stopping a process is if it’s a process like SQL Server, there are those that might be, um, annoyed maybe, by that decision<g>

    What’s bothersome is that SQLExpress and MSDE are supposed to be side by side installs, but this proves that that’s not quite the case.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*