Sign in to follow this  
Guest Patrick_Waugh

Gauges in Vista

Recommended Posts

Hey,Doing some testing with Vista 64.With FSX in XP compatibility mode, the aircraft loads fine (with all the usual warnings and a yes response to running the dll), but no gauges are visible.Works fine in XP, and have yet to try Vista 32.Anyone had any success? Any pointers on getting gauges to work for Vista?Patrick

Share this post


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

Patrick,had the same Problems (not only with Vista, after Reinstall FSX the same occurs). If i recompile the Gauges they work fine. I get a Hint from Hans that it could have to do with the "Debug" Configuration in VS2005. I don't know you use VS2005 in Debug-Config but it seems that in "Release" Config all works fine.RegardsSven

Share this post


Link to post
Share on other sites

Sven,>had the same Problems (not only with Vista, after Reinstall>FSX the same occurs). If i recompile the Gauges they work>fine.I'm compiling with VS on Windows XP SP2, and distributing to someone on Vista 32 and Vista 64.>I get a Hint from Hans that it could have to do with the>"Debug" Configuration in VS2005. I don't know you use VS2005>in Debug-Config but it seems that in "Release" Config all>works fine.I'm compiling a "Release" not "Debug" config, as I never would distribute a debug version.Gauges are just not showing up on Vista, and those guys are hoping to be able to fly it.Patrick

Share this post


Link to post
Share on other sites

Haven't tried anything on Vista, so I'm just guessing here...Are any of your gauges compiled with "unsafe" deprecated code? Might be that Vista is shutting them down because of it...Doug

Share this post


Link to post
Share on other sites

Patrick,>I'm compiling with VS on Windows XP SP2, and distributing to>someone on Vista 32 and Vista 64.Same for me, except for the Moment i didn't distribute any Gauges :-)>I'm compiling a "Release" not "Debug" config, as I never would>distribute a debug version.I think nobody would do this :-).Let me explain what happens for me. I've compiled a Gauge and it works fine in FSX. After Changing my HDD-Config i reinstalled FSX. Thereafter, my Gauge was loaded (clicking "yes" on the Security Warning) but nothing appears on the Panel. I've to recompile the Gauge again to see it correct. This could be the same Problem as yours.I've mailed to Hans Hartmann this Problem and his Answer was that it cold probably a Problem with the "Debug" Config in VS. I've not testet this with "Release" (and won't do this as i don't want to reinstall FSX again).I've send a "Release" Copy Copy of my Gauge to two People for a first Test but in the Moment i didn't know if the Gauge is working on their Machines. But i hope so...Regards,Sven

Share this post


Link to post
Share on other sites

Ok,now i've an Answer from one of my Testers: none of my Gauges work on their machines, regardless of "Debug" or "Release" Config. :-(>Are any of your gauges compiled with "unsafe" deprecated code? Might be >that Vista is shutting them down because of it...Yes, my Gauge is compiled with such Code but they use WinXP SP2.First i'll do is fix the Code. And then we will see.RegardsSven

Share this post


Link to post
Share on other sites

deprecated code is only a warning that throws the compiler and the actual deprecated message is a #pragma in the headers, which means the compiler does not know that they are deprecated, it just displays a message when told to do so.If you static link the CRT, this shouldn't be a factor in any case. If you runtime link the CRT, then maybe Microsoft could have implemented a "lock" system when calling these functions, but I highly doubt it.I too am interested about the outcome of this, especially since I guess some people are running fine Vista + FSX + gauges (at least stock if not 3rd party's) so what in your compile options could break the gauges?

Share this post


Link to post
Share on other sites

If you compile the gauges with VS2005 SP1 and your tester uses FSX SP1 he needs to install the VS2005 SP1 Redistributable files (available at fsinsider.com). I think that's the problem rather than Vista.You can also set the compiler options from Multithreaded-DLL (DLL runtime) to Multithreaded (static linked runtime). Hope that helps.

Share this post


Link to post
Share on other sites

Any VS2005 SP1 Redistributable would be @microsoft.com. There is no such file I can fine on fsinsider.com.Although I have seen the SP1 Update for VS2005 for Vista, I assumed based on the "requirements" that one was supposed to install this ONLY if one was now on the Vista platform. Is this correct?Or, can I install it on Windows XP SP2 so that I can then compile for Vista???? Also, I have .NET 3.0 installed, and I wonder if maybe my Vista beta tester needs that or if it already has it, so I will have to check that out as well.Patrick

Share this post


Link to post
Share on other sites

No, I fix all warnings and treat them as errors.Patrick

Share this post


Link to post
Share on other sites

Hans, is this correct to assume though that if you statically link the CRT lib, and do not use the DLL runtime, the VS2005 SP1 redist is a no issue then, since it potentially conflict only having both a VS2005 DLL and a VS2005 SP1 DLL at the same time, but in the case of static link there is no DLL involved?

Share this post


Link to post
Share on other sites

>Hans, is this correct to assume though that if you statically>link the CRT lib, and do not use the DLL runtime, the VS2005>SP1 redist is a no issue then, since it potentially conflict>only having both a VS2005 DLL and a VS2005 SP1 DLL at the same>time, but in the case of static link there is no DLL>involved?Did you hear the "swoosh"?That was the sound of this going right over my head! :)A guy I send the compiled code is not going to have VS on their system anyway. =) I am sending him a mygauge.dll.I am pretty sure I am running VS 2005 SP1, and doing the same thing I have always done to compile gauges. However, they gauge is not working on another's Windows XP SP2 system either, so this appears to not be Vista related now.Patrick

Share this post


Link to post
Share on other sites

Update:Still no joy. Had the user download and install the latest DirectX (April 2007), and verified they are running the same version.When they start FSX and select the aircraft, they get the expected "Do you want to run this?" warning for unsigned code, showing FSX is finding the aircraft and the gauge. They press "Yes" to run it and get the expected "Do you want to trust it?" and I have them press "no" so as to not muck up their FSX.cfg file just yet.The aircraft then loads, but with no gauges from my gauge, just the clock from the default aircraft.Of course, it loads fine on my system. We verified they have the identical aircraft and gauge I am using, and the sound files. They are running XP Pro, while I'm on XP Home SP2.Verified all services required are running. They are runnig as admin user, as am I.Both of us have FSX SP1 and SDK SP1 installed.One notable difference is that when I move the sounds for my aircraft to the wrong location, my FSX will just quietly die to the desktop. On his, it loads the same as it is doing now.If any of you dev guys has XP Home SP2 and would like to give it a go for me, email me and I'll arrange to get you a link to dl it.Patrick

Share this post


Link to post
Share on other sites

Well, that's what I was told by several people. I have no reason to doubt that though. I remember that I sent a gauge to another developer and it wouldn't work there because SP1 runtime libs were missing. When I recompiled with the static libs, everything worked fine.

Share this post


Link to post
Share on other sites

>I am pretty sure I am running VS 2005 SP1, and doing the same>thing I have always done to compile gauges. However, they>gauge is not working on another's Windows XP SP2 system>either, so this appears to not be Vista related now.Can you give that "Multithreaded" instead of "Multithreaded DLL" setting a try? Just to make sure that this is the problem (or not).

Share this post


Link to post
Share on other sites

>Any VS2005 SP1 Redistributable would be @microsoft.com. >There is no such file I can fine on fsinsider.com.>http://www.fsinsider.com/downloads/Pages/F...rvicePack1.aspxThe link at the end of the paragraph in italics.See my post below. Make sure to use either the new runtime OR the statically linked libraries.>Although I have seen the SP1 Update for VS2005 for Vista, I>assumed based on the "requirements" that one was supposed to>install this ONLY if one was now on the Vista platform. Is>this correct?Yes, but this is only an update for SP1 which you need to run VS2005 on Vista. The new runtime libraries are part of SP1 itself.>>Or, can I install it on Windows XP SP2 so that I can then>compile for Vista???? Also, I have .NET 3.0 installed, and I>wonder if maybe my Vista beta tester needs that or if it>already has it, so I will have to check that out as well..NET 3.0 won't do anything as long as you only do gauges.

Share this post


Link to post
Share on other sites

>>Any VS2005 SP1 Redistributable would be @microsoft.com. >>There is no such file I can fine on fsinsider.com.>>>http://www.fsinsider.com/downloads/Pages/F...rvicePack1.aspx>The link at the end of the paragraph in italics.Ok, maybe my brain isn't getting it, but that link is FSX SP1, not VS 2005 SP1, and yes, that is what I am using, as is my beta tester, ie FSX SP1. You said, "VS2005 SP1" before, and I also am using VS2005 SP1.>See my post below. Make sure to use either the new runtime OR>the statically linked libraries.When you say "new runtime", what do you mean? What new runtime? Runtime of what DirectX???>Yes, but this is only an update for SP1 which you need to run>VS2005 on Vista. The new runtime libraries are part of SP1>itself.Ok, so I get you are saying that I do not need that update for VS2005 as I am not compiling on Vista. Thank you.Your 2nd sentence I do not understand. What "new runtime", is part of what "SP1"? I am sorry, I am not following you, as there are many SP1's. There is the SP1 for VS, one for FSX, and one for FSX SDK. All of which I have installed.>>Or, can I install it on Windows XP SP2 so that I can then>>compile for Vista???? Also, I have .NET 3.0 installed, and>I>>wonder if maybe my Vista beta tester needs that or if it>>already has it, so I will have to check that out as well.>>.NET 3.0 won't do anything as long as you only do gauges.Good, this is what I thought. I am not using the CLR (.NET).Thanks for trying to help.Patrick

Share this post


Link to post
Share on other sites

I will try this, but as a "gauge" IS a .dll, I do not thing this can work, right?Or, is a gauge.dll, not really a true .dll? I have heard Arne say this, so perhaps it is not.Patrick

Share this post


Link to post
Share on other sites

That's a misunderstand (I must admit I thought the same until a few weeks ago!). This setting doesn't mean that you compile a DLL or an EXE file. It only means that VS2005 links a static or dynamic runtime library.

Share this post


Link to post
Share on other sites

>That's a misunderstand (I must admit I thought the same until>a few weeks ago!). This setting doesn't mean that you compile>a DLL or an EXE file. It only means that VS2005 links a static>or dynamic runtime library.Ah, ok. I will change that setting and re-compile and maybe he can test it when he wakes up.Thnaks for explaining more. I am still not sure what it is that is being statically linked (and on my machine) that is not on his available as a dll. Do you know?Patrick

Share this post


Link to post
Share on other sites

>>>Any VS2005 SP1 Redistributable would be @microsoft.com. >>>There is no such file I can fine on fsinsider.com.>>>>>http://www.fsinsider.com/downloads/Pages/F...rvicePack1.aspx>>The link at the end of the paragraph in italics.>>Ok, maybe my brain isn't getting it, but that link is FSX SP1,>not VS 2005 SP1, and yes, that is what I am using, as is my>beta tester, ie FSX SP1. You said, "VS2005 SP1" before, and I>also am using VS2005 SP1.>Check the text in italics:"Notice: Third-party content requires VS 2005 SP1 to successfully load. Third-party content developed for FSX using VS 2005 SP1 requires the new VS 2005 SP1 redistributable file, available here: Download"This link contains the redistributable file that your tester needs to be able to run gauges, compiled by your VS2005 SP1, in FSX SP1.>>See my post below. Make sure to use either the new runtime>OR>>the statically linked libraries.>>When you say "new runtime", what do you mean? What new>runtime? Runtime of what DirectX???>The VS2005 SP1 C++ Runtime Library. Microsoft introduced a new version which is required for every file you compile with VS2005 SP1. This is not specific for FSX. The operating system also doesn't matter. Since you have VS2005 SP1 on your system, you also have the new library and won't notice any problem. However, your tester doesn't have those files (they are not distributed by Windows Update as far as I know), your gauges don't work for him. Installing the runtime (or "redistributable" as MS calls it), should solve the problem for him.

Share this post


Link to post
Share on other sites

>Well, that's what I was told by several people. I have no>reason to doubt that though. >I remember that I sent a gauge to another developer and it>wouldn't work there because SP1 runtime libs were missing.>When I recompiled with the static libs, everything worked>fine. What are SP1 runtime libraries???Also, is this what you mean?http://i91.photobucket.com/albums/k282/Ben.../Properties.pngPatrick

Share this post


Link to post
Share on other sites

yes, that's what I mean.Runtime libraries are .lib files which contain the standard set of functions that comes with C or C++. Like strcpy(), printf(),...

Share this post


Link to post
Share on other sites

>Check the text in italics:>"Notice: Third-party content requires VS 2005 SP1 to>successfully load. Third-party content developed for FSX using>VS 2005 SP1 requires the new VS 2005 SP1 redistributable file,>available here: Download">>This link contains the redistributable file that your tester>needs to be able to run gauges, compiled by your VS2005 SP1,>in FSX SP1.Ok! I finally see what you are saying!!!A MILLION thank you's!!!>See my post below. Make sure to use either the new runtime>OR the statically linked libraries.>>The VS2005 SP1 C++ Runtime Library. Microsoft introduced a new>version which is required for every file you compile with>VS2005 SP1. This is not specific for FSX. The operating system>also doesn't matter. Since you have VS2005 SP1 on your system,>you also have the new library and won't notice any problem.>However, your tester doesn't have those files (they are not>distributed by Windows Update as far as I know), your gauges>don't work for him. Installing the runtime (or>"redistributable" as MS calls it), should solve the problem>for him.Ok, so if I either statically link, OR I get them to download and install that runtime, it will work.I get it now. I will try both.Thanks a billion!Patrick

Share this post


Link to post
Share on other sites

I really don't know what I would do without all you guys to help.You ALL are MVP's in my book. =)This has been a long 4 year road to get to this point, and I was ready to pull my hair out.Patrick

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