Author Topic: Currupted XML.dll after Zurich 1.3 Install  (Read 8474 times)

reever

  • Newbie
  • *
  • Posts: 9
Currupted XML.dll after Zurich 1.3 Install
« on: January 18, 2008, 08:32:47 am »
Hi,

 All FSX addon files are unaccessible after installing Zurich 1.3. The XML.dll has an "start/end tag mismatch" error.

 XML as follows:

<?xml version="1.0" encoding="Windows-1252"?>
<SimBase.Document Type="Launch" version="1,0">
  <Descr>Launch</Descr>
  <Filename>dll.xml</Filename>
  <Disabled>False</Disabled>
  <Launch.ManualLoad>False</Launch.ManualLoad>
  <Launch.Addon>
    <Name>Addon Manager</Name>
    <Disabled>False</Disabled>
    <ManualLoad>False</ManualLoad>
    <Path>bglmanx.dll</Path>
  </Launch.Addon>
  <Launch.Addon>
    <Name>Object Placement Tool</Name>
    <Disabled>True</Disabled>
    <ManualLoad>False</ManualLoad>
    <Path>..\Microsoft Flight Simulator X SDK\SDK\Mission Creation Kit\object_placement.dll</Path>
  </Launch.Addon>
  <Launch.Addon>
    <Name>Traffic Toolbox</Name>
    <Disabled>True</Disabled>
    <ManualLoad>False</ManualLoad>
    <Path>..\Microsoft Flight Simulator X SDK\SDK\Environment Kit\Traffic Toolbox SDK\traffictoolbox.dll</Path>
  </Launch.Addon>
  <Launch.Addon>
    <Name>Visual Effects Tool</Name>
    <Disabled>True</Disabled>
    <ManualLoad>False</ManualLoad>
    <Path>..\Microsoft Flight Simulator X SDK\SDK\Environment Kit\Special Effects SDK\visualfxtool.dll</Path>
  </Launch.Addon>
  <Launch.Addon>
    <Name>FSUIPC 4</Name>
    <Disabled>False</Disabled>
    <Path>Modules\FSUIPC4.dll</Path>
  </Launch.Addon>
  <Launch.Addon>
    <Name>PMDG Options</Name>
    <Disabled>False</Disabled>
    <Path>PMDG\DLLs\PMDGOptions.dll</Path>
  </Launch.Addon>
  <Launch.Addon>
    <Name>PMDG Events</Name>
    <Disabled>False</Disabled>
    <Path>PMDG\DLLs\PMDGEvents.dll</Path>
  </Launch.Addon>
  <Launch.Addon>
    <Name>PMDG Sounds</Name>
    <Disabled>False</Disabled>
    <Path>PMDG\DLLs\PMDGSounds.dll</Path>
  </Launch.Addon>
  <Launch.Addon>
    <Name>Level-D Simulations</Name>
    <Disabled>False</Disabled>
    <ManualLoad>False</ManualLoad>
    <Path>Modules\LVLD.dll</Path>
  </Launch.Addon>
  <Launch.Addon>
    <Name>FeelThere PIC737X Helper</Name>
    <Disabled>False</Disabled>
    <Path>FeelThere\B737\PIC737XH.dll</Path>
  <Launch.Addon>
    <Name>FS Recorder Module</Name>
    <Disabled>False</Disabled>
    <ManualLoad>False</ManualLoad>
    <Path>C:\Program Files\FS Recorder for FSX\RecorderFSX.dll</Path>
  </Launch.Addon>
  <Launch.Addon>
    <Name>FeelThere LegacyX HUD</Name>
    <Disabled>False</Disabled>
    <Path>FeelThere\Legacy\LegacyXHUD.dll</Path>
  </Launch.Addon>
</SimBase.Document>

Configuration is Vista FSX SP2

     Robert
« Last Edit: January 18, 2008, 08:57:19 am by reever »

virtuali

  • Administrator
  • Hero Member
  • *****
  • Posts: 50683
    • VIRTUALI Sagl
Re: Currupted XML.dll after Zurich 1.3 Install
« Reply #1 on: January 18, 2008, 11:09:30 am »
All FSX addon files are unaccessible after installing Zurich 1.3. The XML.dll has an "start/end tag mismatch" error.รจ

The error it's not in Zurich, you had the error before, and it has been caused by Wilco 737 PIC installer, that is known to corrupt the DLL.XML file.


As you can see, it's the 737 PIC line that has a missing closing tag:

  <Launch.Addon>
    <Name>FeelThere PIC737X Helper</Name>
    <Disabled>False</Disabled>
    <Path>FeelThere\B737\PIC737XH.dll</Path>


See ? </Launch.Addon> here is missing.

This has been confirmed by PMDG as well:

http://ops.precisionmanuals.com/wiki/How_to_Fix_Your_FSX_DLL.XML_File

Quote from: PMDG
NOTE: We have been able to confirm that the Wilco/FeelThere PIC 737 product is the prime offender when it comes to DLL.XML corruption on our customer's machines. This was verified by testing the installer and determining that it indeed edits the DLL.XML improperly, rendering it corrupted and on occasion useless to editors that may follow along later. We recommend that customers make a backup of their DLL.XML before installing these products.

I hear you asking: then why I only see this after installing Zurich ?

Reason is probably in the bold line above: since Wilco installer corrupt the DLL.XML, up to a point that it makes it difficult to edit even with text editors, it might be that it has the same adverse effect on our installer, that might become confused by the already corrupted file, just like an editor.

We'll need to add additional code in the installer, now, to defend ourselves from Wilco's mishaps...


virtuali

  • Administrator
  • Hero Member
  • *****
  • Posts: 50683
    • VIRTUALI Sagl
Re: Currupted XML.dll after Zurich 1.3 Install
« Reply #2 on: January 18, 2008, 01:49:54 pm »
Update

About the Wilco problem:

I've just confirmed that the 737 PIC installer does change the DLL.XML file, in fact, it changes it from "Dos/Windows" type (with CR and LF chars as linebreaks) to "Unix" type, with just LF. If you open your DLL.XML in Notepad after installing Wilco 737, you'll see the whole file appears like a single line. This because all Dos/Windows editors (unless they are Unix-aware) are expecting files having CR and LF to mark end of lines.


While this is not a problem for a full XML parser, because linebreaks shouldn't count and, in fact, IE is perfectly happy with it, this might create all sort of problems, especially if you try to edit the file by hand, to fix it yourself. It becomes very easy to make mistakes, when everything it's on a single line, to be manually splitted.

But the funny thing is:

Our installer, even the current version, is NOT confused by it!! I thought it might be, but in fact, I just tried installing the 737 PIC, then ran the Zurich installer, and there are no problems whatsoever, not only the installer is capable to add the Addon Manager lines, but it even FIX back the file to the correct Dos/Windows format, with CRLF as it supposed to be on a Windows machine!

So, why the issues ? Since I've verified that our installer doesn't get into problems with the file changed in that way, the only explaination I have, is that the DLL.XML was already wrong before installing Zurich, probably because it was hand-edited, maybe trying to fix the problems created by the 737, and since the file becomes almost unreadable as a one-liner, it's really easy to miss a closing tag when hand-editing such file.

That's the only explaination I have right now, unless we find other evidence of strangely formatted files.

Note, the installer doesn't really care what was in your DLL.XML file before: it simply reads the whole file, takes ALL lines (as they are) from after the header to the end, adds Addon Manager section just after the header, and write everything back to file. So, if you now see a missing closing tag in the middle of the file, the problem should have been there already, since the installer doesn't touch anything of the in-between lines, they are simply copied as they were.
« Last Edit: January 18, 2008, 01:55:39 pm by virtuali »

reever

  • Newbie
  • *
  • Posts: 9
Re: Currupted XML.dll after Zurich 1.3 Install
« Reply #3 on: January 18, 2008, 02:26:13 pm »
  Virtuali,

   To add to the mystery.....I have never had occasion to "hand edit" the XML file.
Prior to installing Zurich 1.3, all addons shown in the above XML file including Zurich 1.2 were installed and performing OK.   I installed 1.3 on top of 1.2 and incurred the error.
   Using "XML Marker" I added the missing <Launch.Addon> tag to the Wilco entry and all is OK again.
      ????????

      Robert

virtuali

  • Administrator
  • Hero Member
  • *****
  • Posts: 50683
    • VIRTUALI Sagl
Re: Currupted XML.dll after Zurich 1.3 Install
« Reply #4 on: January 18, 2008, 03:18:52 pm »
I installed 1.3 on top of 1.2 and incurred the error.

Well, this is really strange. You can check this by yourself: if you simply run the installer again, with the now fixed DLL.XML, it should work the same.

reever

  • Newbie
  • *
  • Posts: 9
Re: Currupted XML.dll after Zurich 1.3 Install
« Reply #5 on: January 18, 2008, 03:39:09 pm »
I've already done that..... 1.3 is installed with no problem! "XML Marker" shows the XML.dll to be clean.