• Announcements

    • xper

      MSFN Sponsorship and AdBlockers!   07/10/2016

      Dear members, MSFN is made available via subscriptions, donations and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, become a site sponsor and ads will be disabled automatically and by subscribing you get other sponsor benefits.
Sign in to follow this  
Followers 0
Tomcat76

Script -- MSXML4 SP2 with latest update for use with HFSLIP

19 posts in this topic

[Attachment removed]

Msxml4.dll, which is part of MSXML 4.0 SP2, has been renewed at least twice. The script attached to this post updates that file to the latest version and creates a new executable, msxml4.exe, which is supposed to be used as a replacement for msxmlcab.exe. When running this script from the HFSLIP folder, the updated executable is placed directly in the HF folder; otherwise, it will be located in the same folder you run this script from.

This should benefit:

- users who wish to have the most recent version of MS XML 4.0

- international users, as msxmlcab.exe is only available in English

Procedure:

1) Download the attached file. HFSLIP users can place it in the HFSLIP folder.

2) Create a folder alongside xml4-maker.cmd called HFXTC

3) Go to this page and download either msxmlcab.exe (English only), msxml.msi (English only) or msxml***.msi (other languages) and place it in HFXTC

4) Download KB887606 for the same language into HFXTC

5) Run xml4-maker.cmd

That's it. If you did this from the HFSLIP folder, you can run HFSLIP now.

Note #1: The final executable, msxml4.exe, can be used as a standalone installer too; to install it silently, use the default /q switch.

Note #2: Since msxml4.exe replaces msxmlcab.exe, the latter is no longer needed. When using HFSLIP, you are advised to remove msxmlcab.exe from the HF folder; HFSLIP processes files alphabetically which will leave you with the older version of msxml4.dll again as msxmlcab.exe is processed after msxml4.exe. And why would you keep two versions anyway?

Note #3: This script should only be run once. Just reuse msxml4.exe for every project.

Note #4: msxmlcab.exe contains only the two most essential files to support MSXML 4.0 SP2, while msxml.msi contains an SDK on top (hence its much larger size). You can regard the former as a plugin to view MSXML 4.0 content. The script attached to this post makes an updated version of msxmlcab.exe, even when using the MSI file as a starting point. This means that people who need the SDK functionality from the MSI should not use this script.

Updates:

2006-01-21: Un-bloated the script a little. No functionality changes.

2006-01-21: Un-bloated the script a little more. Thanks Yzöwl for the leads. No functionality changes.

2006-01-22: Updated the description. No functionality changes.

2006-01-23: Msxml4.exe can be used as a standalone installer. No functionality changes as far as HFSLIP is concerned.

Edited by Tomcat76
0

Share this post


Link to post
Share on other sites

There is a problem with your script, msxml*.msi and msxml.msi are the same.

0

Share this post


Link to post
Share on other sites
There is a problem with your script, msxml*.msi and msxml.msi are the same.
Yes. I'm just doing that to rename msxmlfra.msi and the other non-English files to msxml.msi. I have to have the exact file name to do an admin install and I can't know which file somebody is going to use.
What about this update to MSXML 4 SP2 :

http://www.microsoft.com/downloads/details...5D-91E14FCF7A0D ( KB832414)

Is it needed too ?

No. That hotfix has an older version of msxml4.dll.

msxml4.dll KB887606 = 4.20.9828.0 (03-Aug-2004)

msxml4.dll KB832414 = 4.20.9821.0 (20-Jan-2004)

0

Share this post


Link to post
Share on other sites

content removed...

Edited by Yzöwl
0

Share this post


Link to post
Share on other sites

You apparantly don't understand what I'm trying to do.

I'm first checking for the existence of msxmlcab.exe. It has preference because it doesn't need an admin install (ie, it just needs to be extracted which works faster).

==> if exist msxmlcab.exe

If msxmlcab.exe doesn't exist, the msi will be processed. Now here's the tricky part. In order to do an admin install, I need to know the exact file name of the msi. The English version is simply called "msxml.msi" but the localized versions are called "msxmlfra.msi", "msxmlger.msi", etc. I've opted to copy the localized versions to the working folder and rename them to "msxml.msi", and then run the general command to perform the administrative installation.

"msxml*.msi" = all msi files

"msxml.msi" = just the English msi file

"if exist msxml*.msi if not exist msxmlcab.exe" = exclude the exe, but include ALL msi's in this section (English, French, German, etc.)

"if not exist msxml.msi" = exclude the English version from the renaming routine

0

Share this post


Link to post
Share on other sites

content removed...

Edited by Yzöwl
0

Share this post


Link to post
Share on other sites

Your script didn't work for the most part but I've kept some of the changes that I thought were nice. Thanks.

Edited by Tomcat76
0

Share this post


Link to post
Share on other sites

My script, as do all of mine, works flawlessly. The script section I posted, and since removed, was done simply to attract a response from someone who assumed I didn't know what I was talking about. It was not workable, since it is not my place to rewrite your work but did however contain enough information to help you improve your script, essentially to incite you to slightly change the order of your thinking.

I have also re-wrote the entire HFSLIP script, but as it is not my script to correct, I too have not made corrections directly to the board. The msxml section, which was in serious need of tidying, was sent to tommyp for comment and later included, as have many other suggestions which for some reason have been ignored. Even the :HFEYzowl submission I made has been severely altered although never updated within the main script. Also I have no idea what the :HFEYzowleX is even supposed to do, though it appears to carry my name.

Although I am not saying that the scripts posted will not work, there are lines in there that are either not required or slow down the process.

Next time you run HFSLIP_60121.cmd for instance, do it from the cmd window with the following line:

HFSLIP_60121 2>error.txt

when the script has finished, look at the error.txt file!

0

Share this post


Link to post
Share on other sites

Well, what you guys were talking about was a little above my skill level :}

Just wondering, do I need to rerun your script Tomcat after your modifications due to Yzowl's suggestions?

0

Share this post


Link to post
Share on other sites
The msxml section, which was in serious need of tidying, was sent to tommyp for comment and later included, as have many other suggestions which for some reason have been ignored. Even the :HFEYzowl submission I made has been severely altered although never updated within the main script. Also I have no idea what the :HFEYzowleX is even supposed to do, though it appears to carry my name.

Yzowl, with all due respect, you do know your stuff with cmd scripts. However, the submission you PMd me a few months back for the HFEXPERT section didn't function properly. When I told you that it didn't work, you told me the same thing you told Tomcat76. When I asked you to test things first before submitting them to me, you got a little PO'd. But getting back to the scripts you do send, by modifying them a bit, they work nicely.

0

Share this post


Link to post
Share on other sites
My script, as do all of mine, works flawlessly.
Would you mind posting it again? I no longer have an unaltered version.
The script section I posted, and since removed, was done simply to attract a response from someone who assumed I didn't know what I was talking about.
That's a bit exaggerated. My script renamed the msi's for other languages to "msxml.msi" but left the English version alone since it's already called "msxml.msi". Your script (as well as my current version) doesn't exclude the English version; it renames "msxml.msi" to "msxml.msi" too. It's debatable which solution is the "least bloated".
Just wondering, do I need to rerun your script Tomcat after your modifications due to Yzowl's suggestions?
No. The resulting file is the same.
0

Share this post


Link to post
Share on other sites

Uh, no. msxmlcab.exe contains an older version of msxml4.dll. The whole point is to get you the most recent file. It's not forbidden to leave it in, but then you'll end up with the old version again because "msxml4.exe" is processed before "msxmlcab.exe".

0

Share this post


Link to post
Share on other sites

Well now that this is all sorted out, maybe FDV should update his Win2k SP5 and WinXP/2003 HFSLIP pages to have a link to Tomcat's instructions and command file for how to integrate the latest hotfix to the MSXML4 file?

This is just a suggestion BTW. :whistle:

0

Share this post


Link to post
Share on other sites

I've updated the entire description. I hope everything is crystal clear now. :)

0

Share this post


Link to post
Share on other sites

Tomcat: And what will I get when I put the msxmlcab and KB887606 files into the HF directory? Will this work or not?

Now I see one possible problem..the original filename of 887606 starts with msxml4sp which means that the file will be processed before the msxmlcab...

Well, I think there's one more thing to improve on HFSLIP: check the processed file versions and use the files with greater version numbers. :-) But this might require to rewrite it in C or so...

0

Share this post


Link to post
Share on other sites

The hotfix would be processed before msxmlcab.exe even if you rename the files because the latter is not a hotfix. The :msxml section is processed after the hotfixes. HFSLIP will have to be modded so it only retains msxml4.dll from the hotfix, and the :msxml section should either be called before the hotfixes or be altered to check for the existence of the newer msxml4.dll in the working folder.

However, international users are still not covered because there's only an English version available of msxmlcab.exe. They need msxml.msi instead. At this point, HFSLIP embeds the SDK when you include msxml.msi. You can change that script section to install only the "viewer", but then what about the people who actually want to have the SDK? TommyP would have to add an additional page at the beginning of HFSLIP asking you what you want to do... "Press A for viewer, B for SDK, or C for both." Can you imagine?

On the other hand, you have to run the script in this thread only once and it's easier to maintain one file. :)

Edited by Tomcat76
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.