From cfa37214b90cc16747a99c8d8d542d294df39094 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Tue, 21 Dec 2010 13:26:15 +0100 Subject: [PATCH] msxml: Register the v2.0 classes using the IRegistrar mechanism. --- dlls/msxml/msxml.rgs | 13 +++++++ dlls/msxml/rsrc.rc | 3 ++ dlls/msxml3/regsvr.c | 90 -------------------------------------------- include/msxml.idl | 5 ++- include/xmldom.idl | 18 +++++++-- include/xmldso.idl | 6 ++- tools/wine.inf.in | 1 + 7 files changed, 41 insertions(+), 95 deletions(-) create mode 100644 dlls/msxml/msxml.rgs diff --git a/dlls/msxml/msxml.rgs b/dlls/msxml/msxml.rgs new file mode 100644 index 00000000000..6f235daf651 --- /dev/null +++ b/dlls/msxml/msxml.rgs @@ -0,0 +1,13 @@ +HKCR +{ + ForceRemove MSXML.DOMDocument = s 'XML DOM Document' + { + CLSID = s '{2933BF90-7B36-11D2-B20E-00C04F983E60}' + CurVer = s 'Microsoft.XMLDOM.1.0' + } + ForceRemove MSXML.FreeThreadedDOMDocument = s 'Free Threaded XML DOM Document' + { + CLSID = s '{2933BF91-7B36-11D2-B20E-00C04F983E60}' + CurVer = s 'Microsoft.FreeThreadedXMLDOM.1.0' + } +} diff --git a/dlls/msxml/rsrc.rc b/dlls/msxml/rsrc.rc index 9537637ea80..473a32445c4 100644 --- a/dlls/msxml/rsrc.rc +++ b/dlls/msxml/rsrc.rc @@ -20,3 +20,6 @@ /* @makedep: msxml_tlb.tlb */ 1 TYPELIB msxml_tlb.tlb + +/* @makedep: msxml.rgs */ +1 WINE_REGISTRY msxml.rgs diff --git a/dlls/msxml3/regsvr.c b/dlls/msxml3/regsvr.c index 7097b41a04c..bbefedd6954 100644 --- a/dlls/msxml3/regsvr.c +++ b/dlls/msxml3/regsvr.c @@ -466,14 +466,6 @@ static LONG register_key_defvalueA( * coclass list */ static struct regsvr_coclass const coclass_list[] = { - { &CLSID_DOMDocument, - "XML DOM Document", - NULL, - "msxml3.dll", - "Both", - "Microsoft.XMLDOM", - "1.0" - }, { &CLSID_DOMDocument2, "XML DOM Document", NULL, @@ -490,22 +482,6 @@ static struct regsvr_coclass const coclass_list[] = { "Msxml2.DOMDocument", "3.0" }, - { &CLSID_DOMFreeThreadedDocument, - "Free threaded XML DOM Document", - NULL, - "msxml3.dll", - "Both", - "Microsoft.FreeThreadedXMLDOM", - "1.0" - }, - { &CLSID_DOMFreeThreadedDocument, - "Free threaded XML DOM Document", - NULL, - "msxml3.dll", - "Both", - "Microsoft.FreeThreadedXMLDOM", - NULL - }, { &CLSID_FreeThreadedDOMDocument, "Free Threaded XML DOM Document", NULL, @@ -530,14 +506,6 @@ static struct regsvr_coclass const coclass_list[] = { "Microsoft.FreeThreadedDOMDocument.1.0", "1.0" }, - { &CLSID_XMLHTTPRequest, - "XML HTTP Request", - NULL, - "msxml3.dll", - "Apartment", - "Microsoft.XMLHTTP", - "1.0" - }, { &CLSID_XMLHTTP26, "XML HTTP 2.6", NULL, @@ -554,14 +522,6 @@ static struct regsvr_coclass const coclass_list[] = { "Msxml2.XMLHTTP.3.0", "3.0" }, - { &CLSID_XMLDSOControl, - "XML Data Source Object", - NULL, - "msxml3.dll", - "Apartment", - "Microsoft.XMLDSO", - "1.0" - }, { &CLSID_XMLDocument, "Msxml", NULL, @@ -655,21 +615,6 @@ static struct regsvr_interface const interface_list[] = { * progid list */ static struct progid const progid_list[] = { - { "Microsoft.XMLDOM", - "XML DOM Document", - &CLSID_DOMDocument, - "Microsoft.XMLDOM.1.0" - }, - { "Microsoft.XMLDOM.1.0", - "XML DOM Document", - &CLSID_DOMDocument, - NULL - }, - { "MSXML.DOMDocument", - "XML DOM Document", - &CLSID_DOMDocument, - "Microsoft.XMLDOM.1.0" - }, { "Msxml2.DOMDocument", "XML DOM Document", &CLSID_DOMDocument2, @@ -680,21 +625,6 @@ static struct progid const progid_list[] = { &CLSID_DOMDocument30, NULL }, - { "Microsoft.FreeThreadedXMLDOM", - "Free threaded XML DOM Document", - &CLSID_DOMFreeThreadedDocument, - "Microsoft.FreeThreadedXMLDOM.1.0" - }, - { "Microsoft.FreeThreadedXMLDOM.1.0", - "Free threaded XML DOM Document", - &CLSID_DOMFreeThreadedDocument, - NULL - }, - { "MSXML.FreeThreadedDOMDocument", - "Free threaded XML DOM Document", - &CLSID_DOMFreeThreadedDocument, - "Microsoft.FreeThreadedXMLDOM.1.0" - }, { "MSXML.FreeThreadedDOMDocument26", "Free threaded XML DOM Document 2.6", &CLSID_FreeThreadedDOMDocument26, @@ -705,16 +635,6 @@ static struct progid const progid_list[] = { &CLSID_FreeThreadedDOMDocument30, NULL }, - { "Microsoft.XMLHTTP", - "XML HTTP Request", - &CLSID_XMLHTTPRequest, - "Microsoft.XMLHTTP.1.0" - }, - { "Microsoft.XMLHTTP.1.0", - "XML HTTP Request", - &CLSID_XMLHTTPRequest, - NULL - }, { "Msxml2.XMLHTTP.2.6", "XML HTTP 2.6", &CLSID_XMLHTTP26, @@ -725,16 +645,6 @@ static struct progid const progid_list[] = { &CLSID_XMLHTTP30, NULL }, - { "Microsoft.XMLDSO", - "XML Data Source Object", - &CLSID_XMLDSOControl, - "Microsoft.XMLDSO.1.0" - }, - { "Microsoft.XMLDSO.1.0", - "XML Data Source Object", - &CLSID_XMLDSOControl, - NULL - }, { "Msxml", "Msxml", &CLSID_XMLDocument, diff --git a/include/msxml.idl b/include/msxml.idl index 62dbcfa7b67..c6dd745a591 100644 --- a/include/msxml.idl +++ b/include/msxml.idl @@ -343,7 +343,10 @@ interface IXMLElementNotificationSink : IDispatch } [ -uuid(cfc399af-d876-11d0-9c10-00c04fc99c8e) + helpstring("Msxml"), + progid("Msxml"), + threading(both), + uuid(cfc399af-d876-11d0-9c10-00c04fc99c8e) ] coclass XMLDocument { diff --git a/include/xmldom.idl b/include/xmldom.idl index d47c06e1bfa..3e3b61359e2 100644 --- a/include/xmldom.idl +++ b/include/xmldom.idl @@ -736,7 +736,11 @@ dispinterface XMLDOMDocumentEvents } [ -uuid(2933bf90-7b36-11d2-b20e-00c04f983e60) + helpstring("XML DOM Document"), + progid("Microsoft.XMLDOM.1.0"), + vi_progid("Microsoft.XMLDOM"), + threading(both), + uuid(2933bf90-7b36-11d2-b20e-00c04f983e60) ] coclass DOMDocument { @@ -745,7 +749,11 @@ coclass DOMDocument } [ -uuid(2933bf91-7b36-11d2-b20e-00c04f983e60) + helpstring("Free Threaded XML DOM Document"), + progid("Microsoft.FreeThreadedXMLDOM.1.0"), + vi_progid("Microsoft.FreeThreadedXMLDOM"), + threading(both), + uuid(2933bf91-7b36-11d2-b20e-00c04f983e60) ] coclass DOMFreeThreadedDocument { @@ -809,7 +817,11 @@ interface IXMLHttpRequest : IDispatch } [ -uuid(ed8c108e-4349-11d2-91a4-00c04f7969e8) + helpstring("XML HTTP Request"), + progid("Microsoft.XMLHTTP.1.0"), + vi_progid("Microsoft.XMLHTTP"), + threading(apartment), + uuid(ed8c108e-4349-11d2-91a4-00c04f7969e8) ] coclass XMLHTTPRequest { diff --git a/include/xmldso.idl b/include/xmldso.idl index c203422463c..60af6c398ac 100644 --- a/include/xmldso.idl +++ b/include/xmldso.idl @@ -49,7 +49,11 @@ interface IXMLDSOControl : IDispatch } [ -uuid(550dda30-0541-11d2-9ca9-0060b0ec3d39) + helpstring("XML Data Source Object"), + progid("Microsoft.XMLDSO.1.0"), + vi_progid("Microsoft.XMLDSO"), + threading(apartment), + uuid(550dda30-0541-11d2-9ca9-0060b0ec3d39) ] coclass XMLDSOControl { diff --git a/tools/wine.inf.in b/tools/wine.inf.in index 02216409acf..e65162de879 100644 --- a/tools/wine.inf.in +++ b/tools/wine.inf.in @@ -2527,6 +2527,7 @@ HKLM,%CurrentVersion%\Telephony\Country List\998,"SameAreaRule",,"G" 11,,msimtf.dll,1 11,,msisip.dll,1 11,,mstask.dll,1 +11,,msxml.dll,1 11,,msxml3.dll,1 11,,msxml4.dll,1 11,,msxml6.dll,1