Author Topic: bglmanx.dll and missing dependencies - again  (Read 7255 times)

ByteG

  • Newbie
  • *
  • Posts: 21
bglmanx.dll and missing dependencies - again
« on: September 22, 2013, 11:10:11 pm »
Hi Umberto,

after 8 months of struggling with bglmanx.dll version 2.9.0.4 I've finally decided to give it another try with the latest version of GSX (1.7.9.8 ) after a clean installation of win 7 and fsx.

This is what has been installed so far:
- Windows 7 x64 SP1
- Chipset, lan and audio drivers for Gigabyte motherboard
- latest nvidia drivers for GTX 580
- all windows updates (saitek drivers were included)
- fsx + acceleration
- GSX

No antivirus, no FSX SDK, no other FSX addons or drivers haven't been installed yet.
UAC has been disabled.
No other system or fsx tweaking have been performed.

Since, I assume, bglmanx.dll should depend on "FSX version" of vc++ 2005 and acceleration version of simconnect I think that this should be it, correct?
And yet again ... bglmanx.dll crashes due to missing dependencies.

Should I add also other x86 versions of vc++ 2005 ? Or even x64 versions?

I would really appreciate any other help instead of redirecting me (again) to older posts - since I've tried that already.

Otherwise I need to go back to the only version that still works for me (2.9.0.4)

Thank you



virtuali

  • Administrator
  • Hero Member
  • *****
  • Posts: 51439
    • VIRTUALI Sagl
Re: bglmanx.dll and missing dependencies - again
« Reply #1 on: September 23, 2013, 09:57:14 am »
Since, I assume, bglmanx.dll should depend on "FSX version" of vc++ 2005 and acceleration version of simconnect I think that this should be it, correct?

Not exactly. FSX and the Acceleration Pack come with the VC++ 2005 runtimes, but there are many sub-versions of it. Of course, we include the correct one in our installer. Not that we do something "strange" installing it, we just include the official MS installer and launch that one.

Quote
And yet again ... bglmanx.dll crashes due to missing dependencies.

Than it means something is still wrong with your install. There are TWO things bglmanx.dll depends on, the VC++ 2005 runtimes, and the Simconnect libraries. The diagnostic doesn't say which ones are really missing. We usually start troubleshooting the VC++ runtimes because they are the most easily messed up (they are used by thousands of other products).

Quote
Should I add also other x86 versions of vc++ 2005 ? Or even x64 versions?

If something has corrupted or created a similar issue, it's not something that you can just "add". You must fix the problem and, sometimes it can only be fixed by repairing the FSX install.

However, you only "need" the x86 version of the libraries. The x64 versions are for 64 bit applications. Again, our installer already comes with the correct version we need but, unfortunately, the MS installer can't really fix problems.

Sometimes the problem is fixed by removing ALL the 2005 runtimes, then repairing the FSX Acceleration installation, and then the FSX installation.

Quote
I would really appreciate any other help instead of redirecting me (again) to older posts - since I've tried that already.

The older post contains all the correct solutions. But it's not possible to be sure you followed them correctly, or be sure the can *fix* the problem, without knowing exactly what you installed after you clean installation.

Some things that will surely affect your VC++ 2005 runtimes are:

.NET runtimes. Even if WE don't use .NET for anything, the .NET runtime installation DOES affect the VC++ 2005 so, try to install the .NET runtimes, both 2.0 and 4.0 versions.

- ATL runtime hotfixes. I believe this was also included in one of the older post about fixing VC++ runtimes

- Many Windows Updates hotfixes. It's suggested you do a full Windows Update as soon as you finish uninstalling/reinstalling all the runtimes.

ByteG

  • Newbie
  • *
  • Posts: 21
Re: bglmanx.dll and missing dependencies - again
« Reply #2 on: October 06, 2013, 02:53:31 pm »
Hi again,

after the last post I have investigated different possibilities of how it would be possible to load bglmanx.dll into fsx.
I have put msvc*80*.dlls (versions .762) and simconnect.dll in fsx folder, system32, syswow64. I was even trying to use local configuration file.
Nothing has worked.

Then I've uninstalled all VC++ redistributables and manually removed all *VC80* files, folders and settings from winsxs and registry.
When the system was clear of any presence of vc++2005 redist. I had reinstalled only fsx version (.42) and gsx version (.762) of those libraries.
And again this hasn't worked.

I have also removed previous versions of GSX and have installed GSX 1.8.1.0.
Same result

I have also reinstalled Acceleration pack. That also hasn't helped.

I've tried also with .net versions 1.1, 2.0., 3.5, 4.0 and 4.5.
No difference. Of course, all possible patches are implemented from windows update.

Now, if I uninstall GSX (1.8.1.0) and reinstall version 1.5.0.0 (bglmanx.dll 2.9.0.3) without a network present it works like a charm.
So, although there are only two dependencies of bgmanx.dll there is also something else that is preventing newer versions to be loaded correctly.

Is there any other approach (logs, traces...) than endlessly reinstalling vc++ libraries which don't have any impact at all.

I would really appreciate your help on this.

Thank you,
Dejan



Hnla

  • Hero Member
  • *****
  • Posts: 697
Re: bglmanx.dll and missing dependencies - again
« Reply #3 on: October 06, 2013, 04:02:45 pm »
It's weird how in my 5 years of Flight Simming, I have never had one problem with Couatl, the Addon Manager or anything, and so many people here have so many problems with it.

Must be that I have basic knowledge on how to work a computer correctly.

virtuali

  • Administrator
  • Hero Member
  • *****
  • Posts: 51439
    • VIRTUALI Sagl
Re: bglmanx.dll and missing dependencies - again
« Reply #4 on: October 06, 2013, 06:25:10 pm »
I have put msvc*80*.dlls (versions .762) and simconnect.dll in fsx folder, system32, syswow64.

This is why nothing works. You just can't manually place .dll files belonging to  Side-by-side libraries: there's a reason such libraries ALL come with installers, it's because it's NOT a matter of "just" copying files, there are registry entries involved, other files with policies, xml config files that must be correct, etc.

It's very complex and by playing with .dll files manually, you will entirely screw up your system, something that you might already done.

Something to TRY, before reinstalling Windows, could be:

- Uninstall Every VC++ 2005 runtime you have in the Control Panel

- Remove EVERY msvc*80*.dlls you have anywhere in your system.

- Repair the FSX installation and/or the FSX SP2 installation (or Acceleration pack, if you have that one). Hopefully, this will restore the correct installation of the runtimes.

ByteG

  • Newbie
  • *
  • Posts: 21
Re: bglmanx.dll and missing dependencies - again
« Reply #5 on: October 06, 2013, 11:42:49 pm »
I have put msvc*80*.dlls (versions .762) and simconnect.dll in fsx folder, system32, syswow64.

This is why nothing works. You just can't manually place .dll files belonging to  Side-by-side libraries: there's a reason such libraries ALL come with installers, it's because it's NOT a matter of "just" copying files, there are registry entries involved, other files with policies, xml config files that must be correct, etc.

It's very complex and by playing with .dll files manually, you will entirely screw up your system, something that you might already done.


This was actually a desperate attempt just to see if this would make a difference. Afterwards I removed all manually placed dlls :)


Something to TRY, before reinstalling Windows, could be:

- Uninstall Every VC++ 2005 runtime you have in the Control Panel


Done. Including other VC++ runtimes (2008, 2010, 2012 and x64 versions)


- Remove EVERY msvc*80*.dlls you have anywhere in your system.


done. Including x86_.. and amd64 folders in winsxs + x86_policy files + entries in registry.
This was a complete clean up of anything matching *VC80* in the whole system, as described in the previous post.


- Repair the FSX installation and/or the FSX SP2 installation (or Acceleration pack, if you have that one). Hopefully, this will restore the correct installation of the runtimes.


After the system was cleared of *VC80*.
I have reinstalled acceleration pack, executed vcredist_x86.exe (.42) from fsx deluxe installation dvd and installed GSX 1.8.1.0. which has installed version .762 (there were no other vc++ versions on the system)
Then I've checked winsxs and winsxs\manifests there were only x86_*VC80*.manifest and x86_*VC80* folders with dlls for only two versions .42 and .762

FSX could be executed (this means that winsxs was ok otherwise it wouldn't work) but bglmanx.dll 2.9.0.8 still failed to load. (just for info GSX was still the only add-on by that time)
Then I have uninstalled it and installed GSX 1.5.0.0. Again no problems.

It's weird how in my 5 years of Flight Simming, I have never had one problem with Couatl, the Addon Manager or anything, and so many people here have so many problems with it.

Must be that I have basic knowledge on how to work a computer correctly.

Neither did I until version 2.9.0.5.
But please tell me, where did I go wrong here:

- Installed Win 7 x64 with SP1 (probably here)
- Installed chipset, graphics and saitek yoke/rudder drivers
- Updated system with Windows Update (all possible updates)
- Installed fsx deluxe + acceleration
- Installed GSX 1.8.1.0

No other applications or add-ons, no other drivers

Brg.
Dejan

virtuali

  • Administrator
  • Hero Member
  • *****
  • Posts: 51439
    • VIRTUALI Sagl
Re: bglmanx.dll and missing dependencies - again
« Reply #6 on: October 07, 2013, 10:41:18 am »
This was actually a desperate attempt just to see if this would make a difference. Afterwards I removed all manually placed dlls :)

Quote
. Including x86_.. and amd64 folders in winsxs + x86_policy files + entries in registry.
This was a complete clean up of anything matching *VC80* in the whole system, as described in the previous post.

No, it's not, there are other files involved and other registry keys involved that are not immediately obvious.

Quote
I have reinstalled acceleration pack, executed vcredist_x86.exe (.42) from fsx deluxe installation dvd and installed GSX 1.8.1.0. which has installed version .762 (there were no other vc++ versions on the system)
Then I've checked winsxs and winsxs\manifests there were only x86_*VC80*.manifest and x86_*VC80* folders with dlls for only two versions .42 and .762

That's not what I've said you should do. You should try REPAIR, not manually install the redistributable. There are things the REPAIR option can fix that the redistributable installers can't.

OUR installer launch the official redistributable for the VC++ libraries it needs. If it was so simple, and the redistributable could fix anything, it should have been enough that step, which of course we do automatically.

Quote
FSX could be executed (this means that winsxs was ok otherwise it wouldn't work)

Wrong assumption. That only means that the SPECIFIC version of the redistributable required by FSX is working. That's the main point of WinSxX: it's possible (when it works) to have MULTIPLE builds of the *same* redistributable installed AND running at the same time. I don't mean 2005 vs 2008, I mean separate sub-builds of the same major versions.

FSX requires the VC++ 2005 runtimes, the Addon Manager requires the VC++ 2005 SP1 version, which is not required by FSX so, if THAT one is not properly installed (as I've said, we DO install it in our installer, by launching the MS redistributable installer, but that can't fix problems), FSX will run, but any software require the SP1 version, will not.

Quote
But please tell me, where did I go wrong here:

Either you  did something manually you don't recall OR some other software, even not related to Flight sim, has created a problem which for some reason can't be fixed.

The main issue is, the Windows Side-by-Side mechanism, which is used by FSX itself AND by the VC++ libraries since VC++ 2005 and ALL subsequent versions, IS VERY FRAGILE, and easy to mess with AND COMPLEX. THIS is what is complex, NOT the Addon Manager, which is *forced* to use this system since, as with any other FSX module, needs to call into Simconnect, which is also using it.

See this post by Pete Dowson on Avsim:

http://forum.avsim.net/topic/323009-simconnect-gone-mad/page__p__1909995#entry1909995

He's saying exactly the same thing: when something goes wrong related to WinSxS, it's almost impossible to fix it without reinstalling the whole OS. And the VC++ runtimes are of course SxS, like almost all Windows system libraries. This was a system created to fix the infamous "Dll hell", but it created an even worse one.

You can try this: download the following file:

http://www.fsdreamteam.com/download/setup/bglmanx/4053/bglmanx.dll
and put it into the FSX root folder, overwriting the one that is already there and try if it works.

If it doesn't, try with this one instead:
http://www.fsdreamteam.com/download/setup/bglmanx/6195/bglmanx.dll

If one of these files works, then it's SURE your system had a corrupted version of the VC++ libraries, which the MS installers weren't able to fix.

ByteG

  • Newbie
  • *
  • Posts: 21
Re: bglmanx.dll and missing dependencies - again
« Reply #7 on: October 09, 2013, 08:18:10 am »


You can try this: download the following file:

http://www.fsdreamteam.com/download/setup/bglmanx/4053/bglmanx.dll
and put it into the FSX root folder, overwriting the one that is already there and try if it works.

If it doesn't, try with this one instead:
http://www.fsdreamteam.com/download/setup/bglmanx/6195/bglmanx.dll

If one of these files works, then it's SURE your system had a corrupted version of the VC++ libraries, which the MS installers weren't able to fix.

I was really looking forward to the version of bglmanx.dll which was build with different version of VC++ library but unfortunatelly, neither of those two versions worked.

I was wondering if an .exe (which is not fsx.exe) exists that would just try to load bglmanx.dll and call DLLStart (I assume that this method exists according to prerequisites for DLL for FSX) and possibly display in details what could be an error if it fails. I know it is a big thing to ask, but asking doesn't hurt, right?

Thank you,
Dejan



virtuali

  • Administrator
  • Hero Member
  • *****
  • Posts: 51439
    • VIRTUALI Sagl
Re: bglmanx.dll and missing dependencies - again
« Reply #8 on: October 09, 2013, 05:43:33 pm »
I was wondering if an .exe (which is not fsx.exe) exists that would just try to load bglmanx.dll and call DLLStart (I assume that this method exists according to prerequisites for DLL for FSX) and possibly display in details what could be an error if it fails. I know it is a big thing to ask, but asking doesn't hurt, right?

You can try this utility:

http://www.dependencywalker.com/

It might give you some ideas on what is missing on your system which prevents the .dll to be loaded.

ByteG

  • Newbie
  • *
  • Posts: 21
Re: bglmanx.dll and missing dependencies - again
« Reply #9 on: October 10, 2013, 07:58:55 pm »
I was wondering if an .exe (which is not fsx.exe) exists that would just try to load bglmanx.dll and call DLLStart (I assume that this method exists according to prerequisites for DLL for FSX) and possibly display in details what could be an error if it fails. I know it is a big thing to ask, but asking doesn't hurt, right?

You can try this utility:

http://www.dependencywalker.com/

It might give you some ideas on what is missing on your system which prevents the .dll to be loaded.

I have tried dependency walker before.
Regarding static libraries it only shows that msvcr80.dll is missing in system32 folder. Once I put it there it doesn't report any problems on the first level. But anyway, this has no effect since mscvr80.dll is read from winsxs and not system32.

There is an option to do profiling of .exe during execution but unfortunatelly, it is not possible to profile .dll
If I start profiling fsx.exe then dependency walker stop after a few seconds.

Well, at least old version still works.