January 2, 20215 yr After a rebuild/newish computer, I have reinstalled P3D. When I open the the Lorby P3D Add-on Manager it reports: "Errors detected in config file(s)! dll.xml: There is an error in XML document (1, 4). Contents will not be visible!" I am not very good at the details of the XML files. I was hoping someone would be able to spot the error. If I read the error message right, it should be in line 1, position 4 of one of these two files. This is my AppData dll.xml: <?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>FSUIPC 5</Name> <Disabled>False</Disabled> <Path>D:\Prepar3D v4.5\Modules\FSUIPC5.dll</Path> </Launch.Addon> <Launch.Addon> <Name>as_connect</Name> <Disabled>False</Disabled> <Path>as_srv\as_connect_64.dll</Path> </Launch.Addon> </SimBase.Document> And this is my ProgramData dll.xml <Launch.Addon> <Name>RAASPRO</Name> <Disabled>False</Disabled> <Path>.\RAASPRO\RAASPRO.dll</Path> <DllStartName>module_init</DllStartName> <DllStopName>module_deinit</DllStopName> </Launch.Addon> <Launch.Addon> <Name>PMDG_Interface</Name> <Disabled>False</Disabled> <Path>PMDG\DLLs\PMDG_Interface.dll</Path> <DllStartName>module_init</DllStartName> <DllStopName>module_deinit</DllStopName> </Launch.Addon> This is not based on any sound computer science knowledge, but I think it's in the second file. When I open/view the first in Internet Explorer, everything shows up. When I open the second in Internet Explorer, I only see "RAASPRO False \RAASPRO\RAASPRO.dll module_init module_deinit ". None of the other text of the XML is present. The period before the path .\RAASPRO\RAASPRO.dll looked odd, but deleting it did not fix the error. I'd appreciate any help. I suspect this is something obvious, but I can't tell what it is. Eric Szczesniak
January 2, 20215 yr Why not trying to complete de path (without the "period"), inserting the drive letter, etc. in the line of RAASPRO?. Cheers, Ed Cheers, Ed MSFS2020 Steam // Rig: Corsair Graphite 760T Full Tower - ASUS MBoard Maximus XII Hero Z490 - CPU Intel i9-10900K - 64GB RAM - MSI RTX2080 Super 8GB - [1xNVMe M.2 1TB + 1xNVMe M.2 2TB (Samsung)] + [1xSSD 1TB + 1xSSD 2TB (Crucial)] + [1xSSD 1TB (Samsung)] + 1 HDD Seagate 2TB + 1 HDD Seagate External 4TB - Monitor LG 29UC97C UWHD Curved - PSU Corsair RM1000x // Thrustmaster FCS & MS XBOX Controllers
January 2, 20215 yr Author 12 minutes ago, edpatino said: Why not trying to complete de path (without the "period"), inserting the drive letter, etc. in the line of RAASPRO?. Cheers, Ed I'll give it a try, but only one of the other paths are listed in full. So I wasn't thinking that was necessary. Eric Szczesniak
January 2, 20215 yr Author I might be doing this wrong, but the error message is supposedly telling me that there error is in line one, column 4. Based on the readout in notepad++, that position in either file is at the vertical line as below: <?xm | l version="1.0" encoding="Windows-1252"?> Or... <Lau | nch.Addon> These two lines appeared to be spelled right, and identical to all the other xml.dll files I can see posted around the internet. Eric Szczesniak
January 2, 20215 yr Hi Es this is mine in programData it shows 2 modules for PMDG ( PMDG_HUD and PMDG_interface) , and there is additional line in RAASPRO ( <ManualLoad>False</ManualLoad>). Not sure if this will help you. <?xml version="1.0" encoding="UTF-8"?> <SimBase.Document Type="AceXML" version="3,0" id="dll"> <Descr>AceXML Document</Descr> <Filename>dll.xml</Filename> <Launch.Addon> <Name>PMDG_Interface</Name> <Disabled>False</Disabled> <Path>PMDG\DLLs\PMDG_Interface.dll</Path> <DllStartName>module_init</DllStartName> <DllStopName>module_deinit</DllStopName> </Launch.Addon> <Launch.Addon> <Name>PMDG_HUD_interface</Name> <Disabled>False</Disabled> <Path>PMDG\DLLs\PMDG_HUD_interface.dll</Path> <DllStartName>module_init</DllStartName> <DllStopName>module_deinit</DllStopName> </Launch.Addon> <Launch.Addon> <Name>RAASPRO</Name> <Disabled>False</Disabled> <ManualLoad>False</ManualLoad> <Path>.\RAASPRO\RAASPRO.dll</Path> <DllStartName>module_init</DllStartName> <DllStopName>module_deinit</DllStopName> </Launch.Addon> </SimBase.Document>
January 2, 20215 yr 59 minutes ago, ESzczesniak said: I might be doing this wrong, but the error message is supposedly telling me that there error is in line one, column 4. Based on the readout in notepad++, that position in either file is at the vertical line as below: <?xm | l version="1.0" encoding="Windows-1252"?> Or... <Lau | nch.Addon> These two lines appeared to be spelled right, and identical to all the other xml.dll files I can see posted around the internet. I think your encoding may be incorrect. Mine read as follows: <?xml version="1.0" encoding="utf-8"?> Gigabyte x670 Aorus Elite AX MB; AMD 7800X3D CPU; Deepcool LT520 AIO Cooler; 64 Gb G.Skill Trident Z5 NEO DDR5 6000; Win11 Pro; P3D V5.4; 1 Samsung 990 2Tb NVMe SSD: 1 Crucial 4Tb MX500 SATA SSD; 1 Samsung 860 1Tb SSD; Gigabyte Aorus Extreme 1080ti 11Gb VRAM; Toshiba 43" LED TV @ 4k; Honeycomb Bravo.
January 2, 20215 yr Author Interesting about the encoding, although I have seen Windows-1252 in other files posted... I did notice a lot of files have an id in their version line that I'm missing: ...version="3,0" id="dll" I tried adding this and broke the file, losing FSUIPC until I reinstalled it. I also tried adding <ManualLoad>False</ManualLoad> to RAASPRO without success I have not yet added it, but believe I do need to add the PMDG_HUD. The NGXu appears to be working correctly (haven't actually flown yet), but the HUD is blank. Edited January 2, 20215 yr by ESzczesniak Eric Szczesniak
January 2, 20215 yr The NGXu does not use the PMDG_HUD entry anymore in the dll.xml. Rather, their interface module includes the HUD within it along with other functions. It makes sense that you are not loading the HUD if you have a problem in the xml. Don't go down this path, return to your original troubleshooting. You first post above, #1, looks correct so I suspect things like extra white space after the closing ">" or perhaps the required CRLF characters are not there but something has modified the end of line sequence. Dan Downs KCRP
January 2, 20215 yr Author 47 minutes ago, downscc said: The NGXu does not use the PMDG_HUD entry anymore in the dll.xml. Rather, their interface module includes the HUD within it along with other functions. It makes sense that you are not loading the HUD if you have a problem in the xml. Don't go down this path, return to your original troubleshooting. You first post above, #1, looks correct so I suspect things like extra white space after the closing ">" or perhaps the required CRLF characters are not there but something has modified the end of line sequence. Thank you for your reply! Blank white space I can figure out how to check, but how would I check for the CRLF characters? Eric Szczesniak
January 2, 20215 yr Your second DLL.XML should look like this: <?xml version="1.0" encoding="UTF-8"?> <SimBase.Document Type="Launch" version="1,0" id="dll"> <Descr>Launch</Descr> <Filename>dll.xml</Filename> <Disabled>False</Disabled> <Launch.ManualLoad>False</Launch.ManualLoad> <Launch.Addon> <Name>RAASPRO</Name> <Disabled>False</Disabled> <Path>.\RAASPRO\RAASPRO.dll</Path> <DllStartName>module_init</DllStartName> <DllStopName>module_deinit</DllStopName> </Launch.Addon> <Launch.Addon> <Name>PMDG_Interface</Name> <Disabled>False</Disabled> <Path>PMDG\DLLs\PMDG_Interface.dll</Path> <DllStartName>module_init</DllStartName> <DllStopName>module_deinit</DllStopName> </Launch.Addon> </SimBase.Document> The xml declaration and the SimBase.Document tags are not optional, they must be there for the file to parse correctly. Whitespace and / or line termination will not be your problem. Whitespace is ignored by XML parsers and the line terminator (whether CRLF or just CR) is also ignored. Open the file in Notepad - if you don't see any 'odd' characters (usually a little square) then it should be fine. Not sure why your first DLL.XML file has Windows-1252 encoding unless it's been carried over from a very old installation, but it won't hurt. You could change it to UTF-8 though, like the example above. I don't think the RAASPRO path will be a problem. Starting a path with .\ just indicates 'start from the current working directory', so if your RAAS is in a folder called RAASPRO off the root of your P3D installation, then it should be fine. But you could omit the initial .\ if you wanted to. As to whether all the entries themselves are correct... I can't say. But with those changes it's a valid XML file which will parse. Oh, and if you want a good text editor which will let you do things like fix line endings etc, download and install Notepad++. It's free. Visual Studio Code is also a great editor but it's aimed more solidly at developers. Edited January 2, 20215 yr by neilhewitt Temporary sim: 9700K @ 5GHz, 2TB NVMe SSD, RTX 3080Ti, MSFS + SPAD.NeXT
January 2, 20215 yr Author 12 minutes ago, neilhewitt said: Your second DLL.XML should look like this: ... Thank you! That seems to have done the trick. The error code is gone and the PMDG HUD works (FSUIPC always worked, likely because it was in the other dll.xml). Just for my learning, it appears the issue was that both dll.xml files should have had the header (SimBase.document) information? With the two locations, I didn't know any better if one should and one shouldn't. Again, thank you! Eric Szczesniak
January 3, 20215 yr 15 hours ago, ESzczesniak said: Just for my learning, it appears the issue was that both dll.xml files should have had the header (SimBase.document) information? Yes. Every XML document must start with an <xml> tag which specifies the encoding. So that has to be there. When the code requests a value from the XML file it will give a path along the lines of "\SimBase.Document\Launch.Addon[0]" which basically means "find the first 'Launch.Addon' tag below the top-level 'SimBase.Document' tag". It's a bit like a file system path. Just as if you put the file in the wrong place, the code can't find it, if you don't have the correct nesting of tags in your XML file, the code won't find the value. In XML, each tag must have an opening and closing tag. So for example <sometag>some content</sometag> has an opening tag '<sometag>', some content *in* the tag, then a matching closing tag '</sometag>' (the / character indicates a closing tag). A tag can be self-closing (have no inner content) like this: <sometag/>. You can nest other tags inside a tag, so for example <parent><child>first child</child><child>second child</child></parent>. The path to the child is \parent\child[index of child]. And so on. In the case of P3D, the code is expecting the XML files to conform to a set structure and that includes having a 'SimBase.Document' tag as the first or 'root' tag which surrounds all the rest of the content in the file. If you're missing one of the tags it's expecting, it will error out. By adding them back in you fixed the file. Does that all make sense? All you need to do to ensure a file is valid XML is include the <xml> declaration at the top of the file, and then make sure all tag pairs are closed (have a closing tag) and there are no invalid characters. Glad you got it sorted! NH Temporary sim: 9700K @ 5GHz, 2TB NVMe SSD, RTX 3080Ti, MSFS + SPAD.NeXT
January 3, 20215 yr Author 1 hour ago, neilhewitt said: Yes. Every XML document must start with an <xml> tag which specifies the encoding. So that has to be there. When the code requests a value from the XML file it will give a path along the lines of "\SimBase.Document\Launch.Addon[0]" which basically means "find the first 'Launch.Addon' tag below the top-level 'SimBase.Document' tag". It's a bit like a file system path. Just as if you put the file in the wrong place, the code can't find it, if you don't have the correct nesting of tags in your XML file, the code won't find the value. In XML, each tag must have an opening and closing tag. So for example <sometag>some content</sometag> has an opening tag '<sometag>', some content *in* the tag, then a matching closing tag '</sometag>' (the / character indicates a closing tag). A tag can be self-closing (have no inner content) like this: <sometag/>. You can nest other tags inside a tag, so for example <parent><child>first child</child><child>second child</child></parent>. The path to the child is \parent\child[index of child]. And so on. In the case of P3D, the code is expecting the XML files to conform to a set structure and that includes having a 'SimBase.Document' tag as the first or 'root' tag which surrounds all the rest of the content in the file. If you're missing one of the tags it's expecting, it will error out. By adding them back in you fixed the file. Does that all make sense? All you need to do to ensure a file is valid XML is include the <xml> declaration at the top of the file, and then make sure all tag pairs are closed (have a closing tag) and there are no invalid characters. Glad you got it sorted! NH Thank you, that does make sense. I never did much coding in college, but had to learn some very basic stuff for some engineering projects. Most of that code was in MatLab, so not very transferable. But it means I understand a tiny little bit and like to learn more when the opportunity arises. Eric Szczesniak
Archived
This topic is now archived and is closed to further replies.