MSXML installation help

B

Botch the Crab

Hi! I am running Personal Web Manager on Windows 2000 SP4 as my
development environment, and have been maintaining my classic ASP
sites like this for some time.

I wanted to find an ASP script that would fetch, parse and display an
RSS feed. I had no problem finding some scripts, but I was unable to
run any of them on my local server. Basically, no matter what script I
try, it fails when trying to create the MSXML object. Variations have
included:

Server.CreateObject("MSXML2.ServerXMLHTTP.3.0")
Server.CreateObject("MSXML2.DOMDocument")
Server.CreateObject("Microsoft.XMLHTTP")
Server.CreateObject("MSXML2.ServerXMLHTTP")

But I always get:

Server.CreateObject Failed
Invalid ProgID

Doing some research, I found that I didn't have any versions of MSXML
installed. So I headed to Microsoft.

I was apparently able to install MSXML 4.0 (as confirmed by an MSXML
sniffer and Add/Remove Programs), but that didn't help. I tried (and
tried and tried) to install MSXML 3.0, since that is what the majority
of scripts I have found seems to call for.... but no matter how many
times I install it (or the SDK) I do not seem to have success.

Suggestions?

Is there a way to modify 3.0 code for a 4.0 installation?

Is there a way to check my 3.0 (or 4.0) installation to make sure it's
installed correctly?

I've spent 2 hours on this, and all I can say is that Microsoft's site
is very unhelpful. :(

Any assistance would be appreciated. Thanks!

~ Botch the Crab
 
A

Anthony Jones

Botch the Crab said:
Hi! I am running Personal Web Manager on Windows 2000 SP4 as my
development environment, and have been maintaining my classic ASP
sites like this for some time.

I wanted to find an ASP script that would fetch, parse and display an
RSS feed. I had no problem finding some scripts, but I was unable to
run any of them on my local server. Basically, no matter what script I
try, it fails when trying to create the MSXML object. Variations have
included:

Server.CreateObject("MSXML2.ServerXMLHTTP.3.0")
Server.CreateObject("MSXML2.DOMDocument")
Server.CreateObject("Microsoft.XMLHTTP")
Server.CreateObject("MSXML2.ServerXMLHTTP")

But I always get:

Server.CreateObject Failed
Invalid ProgID

Doing some research, I found that I didn't have any versions of MSXML
installed. So I headed to Microsoft.

I was apparently able to install MSXML 4.0 (as confirmed by an MSXML
sniffer and Add/Remove Programs), but that didn't help. I tried (and
tried and tried) to install MSXML 3.0, since that is what the majority
of scripts I have found seems to call for.... but no matter how many
times I install it (or the SDK) I do not seem to have success.

Suggestions?

Is there a way to modify 3.0 code for a 4.0 installation?

Is there a way to check my 3.0 (or 4.0) installation to make sure it's
installed correctly?

I've spent 2 hours on this, and all I can say is that Microsoft's site
is very unhelpful. :(

Any assistance would be appreciated. Thanks!

What browser have you installed? IE6 would normally install a version of
MSXML3.dll for you.

When you say "I do not seem to have success" when installing MSXML 3.0, what
exactly are you doiing? And what is happening? Is there an error? Are
the dlls not appearing in the system32?

I don't have any experience with personal web manager but are you confident
that these objects are uninstatiable outside of it. Try creating a simple
..vbs file with :-

Set o = CreateObject("MSXML2.DOMDocument.3.0")

Does that also fail?
 
M

Martin Honnen

Botch said:
Is there a way to modify 3.0 code for a 4.0 installation?

Yes, you can simply use the 4.0 suffix on program ids e.g.
CreateObject("Msxml2.DOMDocument.4.0")
or
CreateObject("Msxml2.ServerXMLHTTP.4.0")
create MSXML 4.0 objects.
 
A

Anthony Jones

Martin Honnen said:
Yes, you can simply use the 4.0 suffix on program ids e.g.
CreateObject("Msxml2.DOMDocument.4.0")
or
CreateObject("Msxml2.ServerXMLHTTP.4.0")
create MSXML 4.0 objects.

However since you're "running Personal Web Manager on Windows 2000 SP4 as my
development environment" you need to consider what will be installed on the
target machine(s).

You really have two choices, stick with 3.0 which ought to be present on a
Windows 2000 SP4 server and above or have them install 6.0. MS are only
updating the the core code of 3.0 and 6.0 (and if they get their way
probably only 6.0 in the future). Therefore avoid 4.0 or 5.0 if you can
help it.
 
B

Botch the Crab

To answer your questions:

I have IE 6 installed.

Regarding installing MSXML 3, I went to Microsoft's download site and
found the respective pages billed as the MSXML 3 SDK and the various
MSXML 3 versions (there's a lot, SP4, SP5, etc). I clicked on the the
MSI file on the page, downloaded it, ran it, and that's it. I did this
for probably every SP version of MSXML 3 I could find, as well as the
SDK. If there's something I have to do besides just running it, I'm
not aware of it.

However, the following files do appear in system32: msxml.dll,
msxmlr.dll, msxml3.dll, msxml3a.dll, msxml3r.dll; Also: msxml4.dll,
msxml4a.dll, msxml4r.dll.

So the installation seems to go fine, but my MSXML version sniffing
page says I still only have 4.0.

As far as the simple VBS page... if you mean creating a simple one-
line simple.vbs file with that line in it... I did that, ran it both
by double-clicking on it and running it at the command prompt, and
nothing happened either time. No errors or perceived action. (Which I
guess is good?)

BTW, I did try changing the suffix of the CreateObject call:

Set xmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP.4.0")
xmlHttp.Open "Get", URLToRSS, false
xmlHttp.Send()
RSSXML = xmlHttp.ResponseText

But then I always get a "The connection with the server was terminated
abnormally" on the Send() line. I was never sure if it was a syntactic
difference between the versions or what. I know the feed is working,
though, so it's not that.

Lastly, based on what I know my host server to have installed, since
they don't appear to use 6.0, I better shoot for 3.0 and getting that
working locally.

THANKS so much for all your feedback so far. If you have any further
suggestions based on my responses, it would be greatly appreciated. :)

~ Adam
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,990
Messages
2,570,211
Members
46,796
Latest member
SteveBreed

Latest Threads

Top