Alexandre Julliard : msxml: Register the v2. 0 classes using the IRegistrar mechanism.

Alexandre Julliard julliard at winehq.org
Tue Dec 21 14:32:18 CST 2010


Module: wine
Branch: master
Commit: cfa37214b90cc16747a99c8d8d542d294df39094
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=cfa37214b90cc16747a99c8d8d542d294df39094

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Tue Dec 21 13:26:15 2010 +0100

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(-)

diff --git a/dlls/msxml/msxml.rgs b/dlls/msxml/msxml.rgs
new file mode 100644
index 0000000..6f235da
--- /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 9537637..473a324 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 7097b41..bbefedd 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 62dbcfa..c6dd745 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 d47c06e..3e3b613 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 c203422..60af6c3 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 0221640..e65162d 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




More information about the wine-cvs mailing list