Sign in to follow this  
Guest zzmikezz

Bizarre SimConnect-Related Issue

Recommended Posts

Some friends have asked me to represent them in this forum because a) I

Share this post


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

I think your friends are confused :->. There is no SimConnect interface for FS9, that's a new feature of FSX. There's no way SimConnect could do anything with FS9, its just not possible. Maybe they are using some other library that happens to have the same name as the new FSX API layer (although I've never heard of it before).The only SimConnect.DLL files that should exist, are in the windows SxS (Side by Side) directories, and possibly under the SDK installed dir (although these versions should never be loaded, only the SxS versions should be loaded).Yes, the different versions of the SimConnect.DLL are for the different Service Pack levels of FSX (RTM, SP1, SP2). That's why these live in the SxS directory, to allow different versioned DLLs to be installed and coexist peacefully allowing addons written to a specific version to be loaded even if the version of FSX has been upgraded to a later Service Pack level (ie an addon written against the SP1 version of SimConnect will still load under SP2, using the SP1 version of the SimConnect.DLL file).

Share this post


Link to post
Share on other sites

beatle,Thanks for your reply.Their Play.dll module is resident in the FS9 Modules folder, so it runs when FS9 starts up. The Play.dll module does a LoadLibrary of SimConnect.dll, even though SimConnect.dll is a feature of FSX and is not distributed with FS9. The SimConnect that they load is in some location where they have stashed a copy of one of the SimConnect versions.So all of my comments and questions stand. I know this is all very weird. That's why I used "Bizarre" in the thread title.

Share this post


Link to post
Share on other sites

Lets see, you use a module from game y in game x ( the older version that doesnt support game y features ) and then wonder why it doesnt work?In general, things like this never work, eg using new features from new games in the old game. Trying to do something like this is like trying to run with scissors, dont do that.They should use the EventViewer in the AdminTools control panel to find out exactly what caused the load failure, but I highly suspect this is unsolvable. And a scenario that is so far out of the support zone that...well, you get the idea.

Share this post


Link to post
Share on other sites

Many thanks, Phil. I don't know the details and I hear you regarding being in la la land re support. Can you give me a little more information regarding why it shouldn't work? I hate to impose but if you could take a couple more minutes I would be most grateful.Edit: I should add that it IS working so our question has more to do with what the technical risks are. It's terra incognita but what's your gut?

Share this post


Link to post
Share on other sites

if its just the _USE_RTM_VERSION issue, which I replied to Jean Luc about in the other thread, that may work since he is benignly loading SimConnect in a gauge package designed to work in either sim and do the right thing at the right time. if its some other issue, who knows. and no one is going to dig to figure it out since the scenario is "out there".

Share this post


Link to post
Share on other sites

I'm a tad confused... we're not allowed to distribute the SimConnect.dll file are we?

Share this post


Link to post
Share on other sites

That is interesting. Lately someone reported that FSIN/FSCopilot is making our gauges fail to draw in the VC.Now with this thread, I suspect it is related to SimConnect (we use that in FSX just to know if we are in the VC or 2D and to prevent the gauges to render in the VC when in 2D view - long lasting bug in the FS series at least since FS9... -).If FSIN is copying SimConnect (I don't know what version) this might explain why my gauges are having issues?!?! (like mismatch versions loaded in memory)?!?http://www.simforums.com/forums/forum_posts.asp?TID=24473

Share this post


Link to post
Share on other sites

And my friends report that they too have been having problems when FSinn/FScopilot are installed.Also, they were dynamically linking to SimConnect, and even though I don't know their system I can see how this might result in a second instance of SimConnect in their address space, especially confusing if the system has several versions to choose from for the second instance, which should not be there in the first place.I'm thinking that the solution may be a static link with a known version of SimConnect, if this is possible, much as one would do with DirectX.But I really don't know what I'm talking about here. I'm simply trying to gather information for my friends. I don't have access to their sources so I can't read the code. The guy who really knows what's in there is out of town and unavailable, which is why they asked me to intervene.

Share this post


Link to post
Share on other sites

>And my friends report that they too have been having problems>when FSinn/FScopilot are installed.>>Also, they were dynamically linking to SimConnect, and even>though I don't know their system I can see how this might>result in a second instance of SimConnect in their address>space, especially confusing if the system has several versions>to choose from for the second instance, which should not be>there in the first place.>Your friends can not distribute the SimConnect.dll, thus it's actually their version that is the problem. They need to adapt their code to connect to the correct version that is available via the Windows Side-by-Side(SxS) installation system. The multiple copies contained within the SxS installations are intentional and proper.I believe the primary source of their issue is that they're using a LoadLibrary to access the DLL. They should be using the SimConnect.h file and the SimConnect.lib file. By using the defined methodology, their code will most definitely connect with the correct version as long as it's been installed on the end-users's system.

Share this post


Link to post
Share on other sites

Thanks, Ed, that's what I've suggested to them -- static link with a known version. I will point them to this thread and your post.

Share this post


Link to post
Share on other sites

No problem. Please ensure they understand they can not legally distribute the DLL... wouldn't want them to get spanked. ;)

Share this post


Link to post
Share on other sites

They're taking that issue up directly with Microsoft. Anyone who's been following my anti-piracy discussions would realize that this would be the case.

Share this post


Link to post
Share on other sites

Well, that's interesting. If they get permission to distribute that file they will have managed to convince MS to allow them to distribute code that is specific to the version of the MSFS you purchased. Which means it supports/doesn't support specific sim data based on which version's being distributed.Now here's the really, really big question... what makes them think they MUST distribute the DLL with their software?

Share this post


Link to post
Share on other sites

WarpD,As I mentioned in my initial post, their Play.dll needs to work not just with FSX but also with FS9/FS8 installations that don't necessarily have a companion FSX installation.Therefore in the general case they need to distrbute SimConnect.dll along with Play.dll, either that or do a static link with SimCOnnect.lib, if there is such a thing. Either way, Microsoft's permission would be required.I'll be working with them to see whether there are alternative technical approaches that would not require SimCOnnect for FS9/8, in order to increase the number of managment options, but at the moment this is where we are and why.xxxxxxxxxxxxxxxxxxxxxxxxxxToday I'm saying "we" because I have just joined their organization, on the business side. No, I don't want to name the organization. Yes, Microsoft knows who we are.

Share this post


Link to post
Share on other sites

I'm not really concerned with who 'they' are... :)I am concerned about the goals. Here's why: Microsoft has always attempted to ensure 3PDs are on a level playing field. By allowing a single group to step outside the EULA regarding SimConnect would make it an uneven field. This is counter to their current approach and could lead to issues. I, and a few other developers will be watching this to see where it goes.Also your friend's approach to the use of SimConnect actually breaks FSX with regards to SimConnect functionality. SimConnect is loaded by FSX, not any 3rd party application. By loading it yourself, you're in fact creating a separate instance of the SimConnect code. I suspect this is the primary source of why your friends have all the problems they currently have. SimConnect simply isn't designed to be utilized in the manner they're trying to use it.Another note... FSUIPC is the 'SimConnect' for FS9. In fact, SimConnect is ACES approach to replacing FSUIPC in the long run.

Share this post


Link to post
Share on other sites

Ed,Just because I've taken the initialitive with Microsoft on this matter does not mean that we're asking for special treatment. I'm assuming that if they do say "yes" for us then it would be "yes" for all, and that this would be one of the reasons for their concern about the technical situation.But on this matter, just like in the piracy threads, I'm not content to say "status quo, nothing can be done". Microsoft is a business like any other. If the business is approached in the right way, one gets a hearing, which is a process that has begun.A hearing doesn't guarantee an outcome. What it does guarantee is that we have been Good Guys and went to them instead of seeming to be sneaking around behind their backs. (Sneaking around was not management's intent, it was simply that they had not thought about the issue till I brought it to their attention. They hadn't thought about it because the dev is an independent.)xxxxxxxxxxxxxxxxxxxxxxxNow ... I'm well aware of the FSUIPC issue though our management is not. I plan to take it up with our outside developer, but he is out of the country, is incommunicado for the time being, and he does not know me from Adam's off ox.From my viewpoint we are simply trying to avoid a parallel maintenance situation, at least for the short term, and I'm asking that Microsoft assess its copyright-motivated legal position to see whether they can live with what we would like to do, so that we can proceed with other aspects of the business in parallel with trying to bring this whole situation to a resolution that makes sense both technically and legally.

Share this post


Link to post
Share on other sites

Oh, don't get me wrong... I'm not knocking you for trying. I'm curious to see what MS will say in the long run. There are separate versions of SimConnect because there are features supported in newer versions that are not supported in prior versions. As well, there are specific features for the Acceleration version that are not available in any other version at all. In other words, MS set up the licensing to protect their product(s), both FS and Acceleration. So I'll be watching to see what they decide to do. If they open it up to all, then it's a significant departure on their prior concerns regarding protection of Acceleration specific features.Your developer is stepping outside the 'box' by loading their own copy, and I seriously doubt ACES will agree to support that decision. Though I will admit I can not speak for them. ;)

Share this post


Link to post
Share on other sites

I do appreciate your help, Ed. One way or another we will get this problem solved, I just want us to be squeaky-clean legally. If that means FSX SP2 only for SimConnect, with FSUIPC for the rest of it, so be it.

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