Do you see "Failed to load Msxmlsql.dll" when using the April CTP with OpenXML?

As part of our improvements on OpenXML, we have changed the MSXML component from 2.6 to 3.0 (running in 2.6 backwards-compatibility mode) and moved to a private DLL (called MSXMLSQL.DLL) in order to avoid the reboot requirement when installing SQL Server 2005. This change has been released the first time in the April CTP and will also be included in SQL Server 2000 SP4 (yeah!).

A couple of positives are that the parser will scale linear to the size of the document (there were cases when MSXML 2.6 was superlinear, ugh!), and the parent axis access in column pattern expressions will be finally performing (compared to the 2.6 based engine, it should be lightning fast :-)).

However, the April CTP seems to have an installation bug, if one decides to install the database engine (SQL Server 2005 April CTP that is) in a different location than the default (so is it still a non-breaking change? :-)).

MSXMLSQL.dll and its .rll are installed to the same location as tools which is a configurable path. The default install location is:

%Program Files%\Microsoft SQL Server\90\Shared

However, if INSTALLSQLSHAREDDIR is provided on the command line or set during GUI setup MSXMLSQL will be installed to:

%INSTALLSQLSHAREDDIR%\90\Shared

Since the code only looks in the first location, it will not find it. So, if you encounter the above error message, please just copy the missing files from %INSTALLSQLSHAREDDIR%\90\Shared to %Program Files%\Microsoft SQL Server\90\Shared. We are working to get this fixed for the next CTP release (and of course make sure it does not occur in SP4 either).

If you install everying using default location, this is not an issue.