1. Roland Smith
  2. PowerBuilder
  3. Saturday, 14 March 2020 00:23 AM UTC

We have a project at work to change all references to Msxml2.XMLHTTP.3.0 to version 6.

Running Process Explorer shows that the app is still loading msxml3.dll.

Is there some function within PowerBuilder that uses this dll?

We are in the middle of converting from 12.5 to 2019. We develop in 12.5 and the overnight build from source control produces a 2019 executable for QA to do their testing. I am pretty sure this was the PB 2019 GA build, I wasn't the one who noticed this so I'm not 100% sure.

 

 

Roland Smith Accepted Answer Pending Moderation
  1. Saturday, 14 March 2020 18:50 PM UTC
  2. PowerBuilder
  3. # 1

It is a mystery! We changed all references from version 3 to version 6 yet use of the version 3 dll persists.

We have no idea what is causing it, that is why I asked. It seems to just appear in the process without the application doing anything.

The application connects to SQL Server via SNC.

 

Comment
  1. Michael Kramer
  2. Sunday, 15 March 2020 07:47 AM UTC
True mystery!

I'm wondering which of the immediately loaded .DLL files has a dependency on MSXML2? (Sorry, no immediate help)

Does Sysinternals' ProcMon expose enough insight on DLL loading? Its log mechanism may tell you when the .EXE process loads MSXML2. - - Remaining is still to locate what piece of code loads it.
  1. Helpful
There are no comments made yet.
Miguel Leeuwe Accepted Answer Pending Moderation
  1. Tuesday, 17 March 2020 22:06 PM UTC
  2. PowerBuilder
  3. # 2

Personally I'm a noob on MSXML but I found this link might be giving some hints:

https://blogs.msdn.microsoft.com/xmlteam/2006/10/23/using-the-right-version-of-msxml-in-internet-explorer/

It seems v3 is used as a "fall back" for v6. Also security settings for v6 by default are off, while in v3 they'd be 'on'.

Security – MSXML6 uses the principle of “off-by-default” to make loading XML data from anonymous or untrusted sources more secure. This may mean that upgrades from MSXML3 and MSXML4 will need to re-configure the MSXML6 components using SetProperty and/or SetFeature as appropriate.

Someone suggests to use Fiddler to track any 401 responses on this page: https://stackoverflow.com/questions/1200311/access-denied-using-msxml

It seems like programs are "tied" to a specific version of msxml, like IE 6.0, 7.0 and 8.0 to parse XML documents (MS Browser control maybe?)

 

 

Hope it gives any clues.

regards.

Comment
  1. Miguel Leeuwe
  2. Tuesday, 17 March 2020 22:16 PM UTC
I also read somewhere that MDAC 2.7 uses v3. Could that also be true for later MDAC versions? Is MDAC somehow involved with SNC connections? What happens if you - temporarily - don't connect to SQL Server, is v3 still being used?
  1. Helpful
  1. Roland Smith
  2. Wednesday, 18 March 2020 13:13 PM UTC
We added the IE registry setting that sets the mode to IE11 and now it loads version 6 of the dll. One of the tabs on the main window gets an xml string from the database and uses it to layout the controls.
  1. Helpful
  1. Miguel Leeuwe
  2. Wednesday, 18 March 2020 13:27 PM UTC
Great news! So was that the MS Browser control being involved?
  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.