Solved

DLL Differences

Posted on 2002-05-15
2
207 Views
Last Modified: 2010-05-18
I am somewhat confused by the difference between Microsoft.XMLDOM and MSXML3.DOMDocument.

I have installed MSXML3 nad this is what I am supposed to be using.  If I do CreateObject("MSXML3.DOMDocument") I get an invalid ProgID though.  My main question though is what the difference between these two DLLs is.

Thanks

Dave
0
Comment
Question by:daveamour
2 Comments
 
LVL 1

Accepted Solution

by:
RobinPatra earned 50 total points
ID: 7010931
These are the methods of different parsers .
The Microsoft XML parser comes with Microsoft Internet Explorer 5.0.

Check the following url plzz

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk30/htm/xmrefguidprogidinformation.asp

************************************************
This is a bit explanation for u



Installing MSXML

You have two options for installing MSXML 3: side-by-side for use with earlier versions, and replacement to blow old versions away and clean up references to them in the registry. It also includes a tool, XMLinst.exe, that lets you switch back and forth almost at will.

In a move that is surprisingly rare for the company who instigated DLL Hell, MSXML 3.0 is implement both in a DLL with a new name, MSXML3.dll versus the older MSXML.dll, and a new library name part of the ProgID: MSXML2 versus the older MSXML. No word yet whether the discrepancy between the 2 and 3 in the names will be cleaned up before release.

Side-by-Side

MSXML 3.0 is designed to coexist with your current version of MSXML. After installation, in the registry all the old MSXML-related entries still point to MSXML.dll, not the newer file, MSXML3.dll. New entries have been added for the new features. To use the new features in this side-by-side installation, you will have to explicitly disambiguate references to the objects that you want, lest your applications become confused:

 

var xmlDoc = new ActiveXObject("MSXML2.DOMDocument");

 

Retrievably Replaced

Since the new component is backward compatible, with new names in all the right places, it's a bit more difficult to install the new version as a replacement. All the detritus will remain in the registry unless you painstakingly remove it; regsvr32 can help.

But you may also want to fool around with the new version before committing it. A utility, XMLinst.exe, is installed with MSXML 3.0 in your SYSTEM32 directory. If you run the utility without any command line parameters, all your old MSXML registry entries are replaced by references to MSXML 2.6. If you want to remove all entries created by a particular DLL, use this command line:

 

xmlinst -u dllname

where dllname is either msxml or msxml3.

 

If you want to go back to the previous version, this line does the trick:

 

xmlinst msxml.dll

 

The dll named on that command line (which can take a fully-qualified path) will replace all entries created by MSXML with references to the named DLL.




***************************************************

Robin
0
 
LVL 19

Author Comment

by:daveamour
ID: 7011144
Ok thanks very much.  One other question though if thats ok.  I have downloaded MSXML3 and ran the install program but whenever I try and use the DLL I get an error message suggesting that the DLL isn't registered.  Any ideas?

Thanks

Dave
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

The Problem How to write an Xquery that works like a SQL outer join, providing placeholders for absent data on the outer side?  I give a bit more background at the end. The situation expressed as relational data Let’s work through this.  I’ve …
The Confluence of Individual Knowledge and the Collective Intelligence At this writing (summer 2013) the term API (http://dictionary.reference.com/browse/API?s=t) has made its way into the popular lexicon of the English language.  A few years ago, …
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
Illustrator's Shape Builder tool will let you combine shapes visually and interactively. This video shows the Mac version, but the tool works the same way in Windows. To follow along with this video, you can draw your own shapes or download the file…

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now