Click to See Complete Forum and Search --> : Get the MSXML 4.0 parser running -- help!


matthias_k
March 26th, 2003, 03:50 AM
Hello everybody,

I'm currently writing a wrapper class for the MSXML 4.0 parser in C++, and I have a problem to get the app running on systems where the parser SDK is not installed.

I'm using the #import directive to import the classes from the msxml4.dll library into my code, but that doesn't seem to be enough. When I start the app on another system where the SDK is NOT installed, I'm catching an exception: "Class not registered". I think it's a COM exception, since I use the following smart pointer interfaces:

IXMLDOMDocument2Ptr
IXMLDOMNodePtr

When creating the instance of the document, I pass the class ID CLSID_DOMDocument40 as the argument.

Well, it works just fine, except that the SDK needs to be installed to start the app. That's not bearable to force the user to install a software dev kit in order to use my apps!

As a side note:
If I use the older interface, in fact IXMLDOMDocument, and pass the class ID CLSID_DOMDocument, then it seems to work without installing the SDK. I already tried to #import msxml4a.dll and #import msxml4r.dll as well, but this only generated a compiler error.

Can you help me here?

brocky
April 1st, 2003, 01:21 AM
I have seen in tom archers artikel on this site that it comes with IE5.0.
Is on the target maschine IE5.0 installed?

Regards

matthias_k
April 1st, 2003, 11:30 AM
It is, but I have already found the problem.

The COM libraries have to be registered in the Windows registry using regsvr32.exe. Seems that I have to use an installer in order to get the app running on other systems than mine.

Thanks anyway.