Click here to Skip to main content
15,884,807 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I am using XML in my C++ application. I installed MSXML 4.0 on the Server 2008. The registry has the value for UUID 88d969c0-f192-11d4-a65f-0040963251e5.

In my code I am trying to create an instance of XML document and getting an error "Class not registered" for the same UUID above.

This worked in the past on a 32 bit Windows 2008 Server. Now I am using a 64 bit server and 64 bit compiler in Visual Studio 2010. I would appreciate any help. Thanks.
Posted

1 solution

 
Share this answer
 
Comments
Nick R 336 12-Jun-14 8:36am    
I installed MSXML 4.0 SP3. But that still didn't solve my problem. What seems to fix the problem is using a different DOMDocument:

// Initialize the DOM
m_hrLastResult =
m_pxIXMLDoc.CoCreateInstance(CLSID_FreeThreadedDOMDocument,NULL,CLSCTX_INPROC_SERVER);

The question I have is why CLSID_FreeThreadedDOMDocument works fine and CLSID CLSID_DOMDocument40 does not (gives me "class not registered error). Even though they are declared in msxml2.h right next to each other:

EXTERN_C const CLSID CLSID_DOMDocument40;

#ifdef __cplusplus

class DECLSPEC_UUID("88d969c0-f192-11d4-a65f-0040963251e5")
DOMDocument40;
#endif

EXTERN_C const CLSID CLSID_FreeThreadedDOMDocument;

#ifdef __cplusplus

class DECLSPEC_UUID("F6D90F12-9C73-11D3-B32E-00C04F990BB4")
FreeThreadedDOMDocument;
#endif

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month


CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900