i can confirm the solution and i have found the Problem
C:\ProgramData\Lockheed Martin\Prepar3D v3 is the correct Solution.
@virtuali
Is it possible to change the installer in the next version that is used the correct dll.xml?
Maybe you haven't followed the thread entirely but, forcing bglmanx.dll to be loaded first, it's a WORKAROUND, not a solution! Normally, the loading order of modules shouldn't matter.
Windows Side-by-Side,
when it works, is designed to allow multiple in-process modules using different versions of SxS libraries (Simconnect, in this case) to run *together* in the same address space.
If you are getting that error, it's because something in the SxS system is not working correctly and, BECAUSE another module is using an OUTDATED Simconnect (the one from FSX RTM, which is the only one that doesn't contain the Simconnect_text() API call), the sim is "stuck" with the RTM version, even if other modules are *requiring* the FSX SP1 or SP2 version of the Simconnect.
So yes, we could probably change the installer to use C:\ProgramData, which is loaded first, but this would be an issues ONLY if your SxS system is not working correctly AND you use 3rd party modules compiled with the obsolete FSX Simconnect RTM.
The REAL solution would be:
- Fixing your issue with SxS, so both Simconnect versions can be loaded at the same time, which is how the system was designed to work in the first place.
- Asking other developers to stop using outdated Simconnect versions, and use the most current one, the FSX SP2 one.
This will SAVE MEMORY too because, if you have one module using the RTM version, another module using the SP1 version and another one using the SP2 version, being all in-process .DLLs, ALL THREE will be loaded in RAM!! So, even when the SxS system works, it's best not to use it, from a performance point of view.
Instead, if all developers did the right thing, and only used the same Simconnect version ( the FSX SP2 version, the one we and others like PMDG use ), only THAT one will be loaded in RAM, which would result in some memory savings.