Sign in to follow this  
Guest JeanLuc_

new issue with SimConnect: can't load the SP2 version

Recommended Posts

Hi,for those who have followed this thread in the past, it was about being able to dynamically load SimConnect. This way, I can have a gauge that runs both in FS9 and FSX without recompilation:http://forums.avsim.net/dcboard.php?az=sho...g_id=969&page=2Now it seems I've found an issue with SimConnect/FSX that prevents it to load the right version.While debugging the class mentioned above, I realized the SP1 SimConnect was loading and not the SP2 SimConnect. I've been searching for a while the reasons behind this, and I discovered something:the SP2 manifest is valid in my code, however, the SP2 manifest also has a dependency on the VC8 runtime library: "Microsoft.VC80.CRT" version="8.0.50608.0What I discovered is that I don't have these installed on my system, only the 8.0.50727.42 and 8.0.50727.762So this means the dependency SimConnect Accel pack is build with, is not installed on my system.So this begs the question: is this a peculiar case on my end, or, do you also most of you have the same issue, i.e. not having the correct VC80.CRT installed on your system? and if so, are they supposed to be installed by the Accel pack installer?

Share this post


Link to post
Share on other sites
Help AVSIM continue to serve you!
Please donate today!

>While debugging the class mentioned above, I realized the SP1>SimConnect was loading and not the SP2 SimConnect. I've been>searching for a while the reasons behind this, and I>discovered something:>>the SP2 manifest is valid in my code, however, the SP2>manifest also has a dependency on the VC8 runtime library:>"Microsoft.VC80.CRT" version="8.0.50608.0Where are you seeing this? The SP2 SimConnect.h merely has this:#pragma comment(linker,"/manifestdependency:"type='win32' " "name='" "Microsoft.FlightSimulator.SimConnect" "' " "version='" "10.0.61259.0" "' " "processorArchitecture='x86' " "publicKeyToken='" "67c7c14424d61b5b" "'"")#endifand the previous versions had no reference to VC80.CRT either.>What I discovered is that I don't have these installed on my>system, only the 8.0.50727.42 and 8.0.50727.762Same here, on all my PCs -- there's nary a 50608 version to be seen! Yet I am loading the SP2 SimConnect okay on them all and it is working fine.I *do* have this manifest generated for me by Visual Studio 2005:<?xml version='1.0' encoding='UTF-8' standalone='yes'?>I don't know why that refers to VC80.CRT build 50608, but this certainly doesn't appear to stop SimConnect loading me nor me dynamically connecting to the SP2 version after I'm loaded. (I only "manifest" to the RTM version to be sure to get loaded by any version).>So this means the dependency SimConnect Accel pack is build>with, is not installed on my system.Well, as far as I can tell, it is the compiler I'm using which is generating that part of my manifest, and it is nothing to do with SimConnect. I've not actually updated my VS2005 at all, it is still the original release, so maybe that would change if I did. However, it is odd that it refers to a CRT build which I most certainly don't have even on my development system. It's a good job it doesn't seem to check.Confusing, isn't it?Pete

Share this post


Link to post
Share on other sites

I've updated to VS2005 SP1, but I think I remember having noticed the same issue (not loading simconnect Accel) before doing it. It is just I recently found a possible culprit.The manifest I'm talking about is in the WinSxS/Manifests/ folder:x86_Microsoft.FlightSimulator.SimConnect_67c7c14424d61b5b_10.0.61259.0_x-ww_fb842f5a.ManifestIt reads:<?xml version="1.0" encoding="UTF-8" standalone="yes"?>Crtjc4eR8mVeztxAozZN0IFb3wk=So this is the dependency file for SimConnect itslef. What is weird is that I don't have this VS CRT version installed. So this would mean it is the version ACE used to compile their code. However, since you don't have it (VS2005 RTM) and I don't have it (VS2005 SP1), I wonder what VS2005 version it relates to!? And then the other issue, is that it fails loading Accel SimConnect with the "dynamic loading" system. It only loads SP1 SimConnect?! I'm quite puzzled?!

Share this post


Link to post
Share on other sites

>The manifest I'm talking about is in the WinSxS/Manifests/>folder:Right. I think all that means is that SimConnect was compiled with the same compiler we use.I've checked the SimConnect RTM and SP1 manifests in that folder, and they all have build 50608. So I really feel this must be a red herring (sorry, English for "a false investigative path") and you need to look elsewhere for an explanation of your problem.>And then the other issue, is that it fails>loading Accel SimConnect with the "dynamic loading" system. It>only loads SP1 SimConnect?! I'm quite puzzled?!I would be too, but the method I outlined in that other thread definitely works okay for me. I know you did your own version of it, so I suspect the answer lies in that someplace.RegardsPete

Share this post


Link to post
Share on other sites

If you use the special #define to use the "OLD" CRT, does that help?I believe VS thinks it is helping you.

Share this post


Link to post
Share on other sites

Hi Phil,thank you for the link. However, it also reveals there is a bug with this macro and VS2005 SP1 when creating MFC DLLs:https://connect.microsoft.com/VisualStudio/...edbackID=247057I certainly hope you have not used it to compile FSX SP1 or SP2 (since as far as I understand, FSX is compiled againt the VS2005 RTM, not VS2005 SP1, and you seem - or used to - have MFC DLLs in FSX).This won't apply to my problem though, since I'm compiling with static CRT lib. The mention above is about the SimConnect manifest dependency on VS2005 CRT which is not installed in my system, hence, could this be the reason the SP2 SimConnect is not loaded but only the SP1 in my particular way of loading it. I'll trace it further and try to get some error code/reports to further know why it fails to load SP2 SimConnect and let you know.Jean-Luc

Share this post


Link to post
Share on other sites

No, that macro is for 3DPs so they dont unknowingly take a dependency on the VS2005 SP1 CRT.

Share this post


Link to post
Share on other sites

Sure for 3PDs. So I guess you have not compiled FSX with SP1 but with RTM of VS2005 (otherwise, you could have used this #define as well in FSX code, and face the issue of MFC DLLs related in the article)In my case, this won't apply since I'm using static lib (not the CRT DLL).I'm continuing investigations for my particular case and report when I progress.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this