SQL Server 2005 Management Studio setup - An error occurred during the installation of assembly Microsoft.MSXML (HRESULT: 0x80070003)

When you install SQL Server 2005 Management Studio on Windows Server 2008, you might encounter the following error

Error 1935. An error occurred during the installation of assembly 'Microsoft.MSXML,Version="8.0.0.0",Culture="neutral",PublicKeyToken="b03f5f7f11d50a3a",FileVersion="8.0.50727.42",ProcessorArchitecture="MSIL"'. Please refer to Help and Support for more information. HRESULT: 0x80070003. assembly interface: IAssemblyCacheItem, function: Commit, component: {B1BE189C-054D-4195-9C26-49D28C20DE94}
MSI (s) (C8:08) [10:43:49:935]: Product: Microsoft SQL Server Management Studio Express -- Error 1935. An error occurred during the installation of assembly 'Microsoft.MSXML,Version="8.0.0.0",Culture="neutral",PublicKeyToken="b03f5f7f11d50a3a",FileVersion="8.0.50727.42",ProcessorArchitecture="MSIL"'. Please refer to Help and Support for more information. HRESULT: 0x80070003. assembly interface: IAssemblyCacheItem, function: Commit, component: {B1BE189C-054D-4195-9C26-49D28C20DE94}

 

If you take a close look at this lengthy error message, you will notice that error occurred during installation of assembly related to MSXML. During an issue that we encountered we noticed above error, we found that GAC cache for MSXML Parser dll is missing from location C:\Windows\assembly\GAC_MSIL\Microsoft.MSXML\8.0.0.0__b03f5f7f11d50a3a. Please note that the folder name might be different in your case since the folder name depends on the .NET framework version installed in the machine.

 

What to do to fix this???

1. Copy microsoft.msxml.dll of same build (Build number is available in the setup error log. In my case it is 8.0.50727.1826) and paste it to a temporary folder in the box where you are seeing this issue.

2. Make sure you have Gacutil (Refer help section below)

3. Run the command gacutil -I "C:\temp\microsoft.msxml.dll" (Here C:\temp\ is the location where we have copy of microsoft.msxml.dll copied from a different server of same build)

4. You should see confirmation message “Assembly successfully added to the cache”

5. Now when you browse to C:\Windows\assembly\GAC_MSIL\Microsoft.MSXML\8.0.0.0__b03f5f7f11d50a3a, you can notice that microsoft.msxml.dll is created there

6. Time to run the setup to install Management Studio

Wondering how I came across this issue?

 

Run Process Monitor (procmon) during Management Studio installation, you will notice PATH_NOT_FOUND event for the location C:\Windows\assembly\GAC_MSIL\Microsoft.MSXML\8.0.0.0__b03f5f7f11d50a3a under process msiexec.exe.

 

Interested in reproducing this issue? Here we go…

Rename or delete the folder 8.0.0.0__b03f5f7f11d50a3a from location C:\Windows\assembly\GAC_MSIL\Microsoft.MSXML\ and install Management Studio. You will notice the error message given above.

Help: Wondering where will you get Gacutil?

If you have installed Visual Studio, run Visual Studio Command Prompt from Start à All Programs à Microsoft Visual Studio xx à Visual Studio Tools else download Windows SDK:

Windows SDK for Windows Server 2008 and .NET Framework 3.5 - https://www.microsoft.com/downloads/details.aspx?FamilyID=F26B1AA4-741A-433A-9BE5-FA919850BDBF&displaylang=en

After the installation gacutil would be found under: C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin

 Regards,Sakthivel ChidambaramSupport Engineer, Microsoft SQL Server. Reviewed By, 
Mukesh Nanda, TL, Microsoft SQL Server