Go Back   Knife Edge > RealFlight - Discontinued Products > RealFlight G3
Use of this site is subject to our Terms of Use. | Looking for technical support? Read this!

Reply
 
Thread Tools Rating: Thread Rating: 4 votes, 5.00 average. Display Modes
  #1  
Old 01-17-2007, 05:47 AM
Sammy Yousef Sammy Yousef is offline
Registered User
 
Join Date: Apr 2005
Posts: 348
Realflight G3 launcher corrupt

Hi,

I've decided to try the latest Beta. I like it but I have an issue.

If I launch from the Realflight Icon, no problem.

When I first started, if I launched from the launcher (which still shows 3.0.448) I'd get a whole bunch of messages about missing aircraft. I also noticed that the Yak with Gyro was impossible to torque roll but only when launched from the launcher.

***** I wonder if this is why certain users are complaining that the latest beta is no better - they're running from the launcher and it's running an old version *****

I noticed that the version of Realflight.000 was the old 3.0.448 (version in windows explorer properties).

I've seen this before so I copied Realflight.exe to Realflight.000. Now I can't launch from the launcher. I get the following error:

Cannot find import; DDL may be missing, corrupt, or wrong version
File "fmod.dll", error.

Any ideas how to fix this?

I'd normally post this in the support forums but I'm tired of the flame wars and I wonder if similarly corrupt updates might be the cause.
Reply With Quote
  #2  
Old 01-17-2007, 06:00 AM
Sammy Yousef Sammy Yousef is offline
Registered User
 
Join Date: Apr 2005
Posts: 348
Curiouser and curiouser

More info:

Copying the dll into the windows\system32 directory worked, but then I got a message about another dll. So I removed it and added the G3 directory to the path. Now i get the following error:

File Not Found: o:\rfv3\image\360degG3.ati

Note that I do not have nor have I ever had an O: drive.

Note also that I can still launch G3 directly. Time is short so reinstalling simply isn't worth my time at the moment since I have a mostly functional product.
Reply With Quote
  #3  
Old 01-17-2007, 09:17 AM
Wide Open's Avatar
Wide Open Wide Open is offline
Registered User
 
Join Date: Oct 2006
Posts: 80
i wonder how you can never have a drive partitioned as "O" yet still get a file directory to it
__________________
I can divide by zero.
Reply With Quote
  #4  
Old 01-17-2007, 01:00 PM
opjose's Avatar
opjose opjose is offline
Registered User
 
Join Date: Nov 2005
Location: Third rocky planet.
Posts: 13,220
"O" is a virtual mounted drive.

The security drivers basically give you access to a FILE that unencrypts as a drive image.
__________________
Quote:
Newbies please click here for important instructions about forum posts: CLICK ME!
Reply With Quote
  #5  
Old 01-17-2007, 06:56 PM
Sammy Yousef Sammy Yousef is offline
Registered User
 
Join Date: Apr 2005
Posts: 348
Bizzare: Launcher launches from RealflighG3\tmp

Well I've worked out what's happening and it's just plain bizzare. The tmp subdirectory of the RealflightG3 directory contains a copy of a bunch of the files in the main directory - about 600Mb worth - including the EXE. When the launcher launches G3 it launched it from tmp (EVEN IF YOU renamed tmp it was still picking up that directory!). This directory had an old executable named RealFl~1.EXE and an up to date one named RealFlight.exe.

All of this was discovered with the aid of a utility called Filemon from SysInternals.

So I dug into the registry a little looking for references to tmp\Realfl~1.exe (since the launcher appears to use short file names). Well apart from a bunch of most recently used entries I came across this:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\App Paths\RealFlightG3Pro.exe]
@="C:\\PROGRA~1\\REALFL~2\\tmp\\Realfl~1.exe"
"InstallationStartMenuFolder"="RealFlight G3"

I changed it to:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\App Paths\RealFlightG3Pro.exe]
@="C:\\PROGRA~1\\REALFL~2\\Realfl~1.exe"
"InstallationStartMenuFolder"="RealFlight G3"

Now the launcher shows the correct version of G3 and launches correctly. I've been trying to find space on my laptop for some time and 600Mb seemed worth the risk of trying a removal of tmp altogether. The program still runs just fine afterwards. The files in the same directory

Does KnifeEdge have any comments as to why the install and update processes would waste 600Mb of hard disk space that way, and launch a different copy of the program? Why on earth does a simple launcher create a copy of the software or launch it under a different process name? I don't see a RealFlightG3Pro.exe on the system. You're doing some very convoluted things that can't be explained as copy protection or anything other than a bug. (The whole process was circumvented by launching directly).

As a software developer I have to say this is VERY poor coding. Your launcher is AWFUL. No end user could have been expected to find and this. If it happened once it could happen on a reinstall too in which case the user would have wasted their time only to see this again. It may well work better from a fresh install. I have no idea what version of the software did this since I've upgraded and downgraded a number of times.

The only bright side is that the latest beta isn't bad launched directly from the G3 icon. However I don't know if the install is corrupt or not. (It appears not, but who knows what the launcher was doing).

Moral of the story: PAY ATTENTION TO THE VERSION DISPLAYED IN THE G3 LAUNCHER. If it doesn't match the version you are actually running, you might be using a mixture of old and new files launching from the launcher.

Added note: Drive space seems to be low on the laptop. Either another copy was created elsewhere or I misread the amount of space in that tmp directory. I was certain it was 600Mb though. I doubt that it's purely a space issue though. I always keep a gig of free space on the laptop. If I ever see space go below that I get rid of something, and I check regularly (and certainly before installs).

Last edited by Sammy Yousef; 01-17-2007 at 07:33 PM.
Reply With Quote
  #6  
Old 01-17-2007, 07:41 PM
Ryan Douglas's Avatar
Ryan Douglas Ryan Douglas is offline
Administrator
 
Join Date: Mar 2002
Location: Corvallis, OR
Posts: 2,722
RealFlight does not create a directory called "tmp". You created that, and at some point you must have moved the RealFlight.exe into it (probably when trying to run multiple versions or something like that). I know you've been on the forums for awhile, so I feel safe assuming you have older disks. That matters because in the beginning, the Launcher used one of the registry entries you mentioned to find the path to the RealFlight executable. However, it turns out that when you use the (Default) value in App Paths, Windows actively tracks the file pointed to by that registry entry, and if you move or rename the file Windows will update the registry entry automatically. Moreover, when it does this, it converts it to the 8.3 filename spec. Windows did this, not the Launcher.

The registry entry used for that purpose has since been changed to not use (Default), but for users with older disks this is still a risk. Once that value has been unintentionally corrupted (as happened with you when you moved the .exe), there is no reliable way for the Launcher to repair it. However, I will enter a bug report suggesting that the Launcher create the new key if it finds the (Default) string in use and does not detect a short filename. I'll have to investigate the possible ramifications of doing this, but at the moment it appears safe enough to me.

When that registry entry was changed and started pointing to the RealFlight.exe inside of <installdir>\tmp, that's where the Launcher thought RealFlight was installed. You must have performed an online update, which would have copied all the new versions of the files into that directory instead of the original one. Most of the files weren't changed since the last version, though (such as fmod.dll), so they weren't recreated inside \tmp. When you attempted to run, then, it couldn't find those files (naturally) and gave errors. Copying a .dll into your system directory makes it globally available, which is why the error(s) went away. It's not necessary, though; that was only a symptom of the greater problem.

Ignore the O: message. It does not refer to a drive on your system. You received that particular message because RealFlight couldn't find the main .DCKs (again, they didn't exist in the \tmp directory). That message is a red flag, but it can also be a red herring for users who don't understand it.

We use RealFlightG3Pro.exe as the registry key name for a reason. Don't worry, it's not supposed to match the actual name of the executable, and the program will never be launched using a different process name as a result.


If you want to prevent this problem from happening in the future, you can do the following (this will mirror the method used on all newer disks):
  1. Locate the registry key: HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\RealFlightG3Pro.exe
  2. Create a new string value under it called "ProgramToLaunch"
  3. Edit the "ProgramToLaunch" data to store the path to your RealFlight.exe, using long filenames (e.g., "C:\Program Files\RealFlightG3\RealFlight.exe").
  4. Set the (Default) string value to nothing. It will appear afterwards as two double-quotes ("").

Bottom line: the Launcher didn't intentionally create bloat in a subdirectory of your installation directory. It all stemmed from a single problem: the fact that Windows automatically updates the registry entry in question if anyone moves or renames the file it points to. We don't use that value anymore.

As for whether your current installation is corrupt, I think the safest thing to do would be to reinstall. The next best thing would be to perform an online update back to whatever version is on your CDs (e.g., 3.00.313), and then perform another online update back to the latest version available. (Make sure you don't update to a version earlier than whatever is on your CDs.) That process should fill in any missing or outdated files. Until then, I wouldn't trust the version being reported; you might still have a mixture of files from different versions.
Reply With Quote
  #7  
Old 01-17-2007, 08:14 PM
Sammy Yousef Sammy Yousef is offline
Registered User
 
Join Date: Apr 2005
Posts: 348
Thanks Ryan

Ryan,

Thanks for the information. I don't run multiple versions. As I've stated repeatedly on the forums it's against your EULA. I certainly don't remember creating a tmp directory or trying to launch from there. However I've been running the software on that machine for over a year now. Can I absolutely guarantee I never tried? No. The only time I can identify where I might have done this would have been when I had an issue where the updater refused to launch citing incorrect version. It turned out the Realflight.000 file was incorrect. Perhaps that's when this happened, but I don't remember doing it. However I do remember it did take me a while to puzzle this out. and I may have tried running from a tmp directory. I don't honestly know. I have had no other reason to manually create a tmp directory though.

I still consider it a flaw with the design for a program to be unable to recover from being started in a different directory, particularly when the problem caused is so obscure. To blame the API and environment you're working in and say it's windows fault is less than honest: Many other pieces of Windows software I've used do not have such problems, and in fact you've given me a fix to work around this, showing that it's quite possible. Further you state that the older install disks have deficiencies the new ones don't have. There should be no difference between using the disks after an update. Otherwise no wonder all your users are describing very different behaviour between different installations of what they think is the same version! As a software developer I find these flaws understandable given the pressures you guys face. However as an end user I'm appalled.

A complete reinstall with all the user created aircraft etc. is not an option at this point. Unless you can give me a way of importing multiple user created models and colour schemes in one hit, it'd probably take a full day if not longer, and even after that I'd probably still be missing planes and colour schemes. It really shouldn't surprise you that users including myself are reluctant to go through such a long winded install process (and I've seen users admonished for refusing in these forums). The install process has grown into something unreasonable (to get back to where you were with everything in tact), and unless you have all the addons and all the user aircraft going into multiplayer involves seeing lots of Cessnas do very strange things (which is one reason I rarely use multiplayer - the other is that I'm not net connected very often).

Also while I agree that I can't trust the installation as it stands it seems clear to me that it is most likely that if anything the launcher was updating the correct version of the software (not the one in tmp) and that only the launch process was affected. Why? Because I was seeing correct behaviour and version numbers if I launched directly from the main program. Only when I used the launcher to launch G3 did I see issues. I can definitely verify that the torque roll physics is what people describe on the forum after the latest update.

What I may do, as you've suggested is downgrade then re-upgrade. However as I've already run the upgrade process twice this month (around 500Mb of my download allowance) I'll wait until you release the beta to the public as a file download in whatever form. I can't justify using any more of my download allowance.

With all that said, thanks for your help, and for the quick response. That's appreciated.

Last edited by Sammy Yousef; 01-17-2007 at 08:32 PM.
Reply With Quote
  #8  
Old 01-17-2007, 09:14 PM
Ryan Douglas's Avatar
Ryan Douglas Ryan Douglas is offline
Administrator
 
Join Date: Mar 2002
Location: Corvallis, OR
Posts: 2,722
I'm not trying to blame Windows for the problem (and if it came out sounding that way it was unintentional). I am saying that I find Windows' behavior in this instance to be unusual and completely unexpected. But since I failed to anticipate it, I introduced a bug in those early versions. Once I discovered what was happening, I made the appropriate changes so that, from then on, anyone purchasing a new copy would not have the same problem.

At that point I spent a considerable amount of time investigating how I could fix the problem for existing installations. Off the top of my head I can't remember the exact reasons why, but I determined that there was no reliable method of repairing 100% of the the installations correctly. Rather than repair most of them and making it so the problem was even less likely to occur than it is now, but creating a new problem if anything went wrong which would be even more obscure and nearly impossible to figure out if it ever did actually occur, I left the existing installations alone. Normally an online update will make your installation functionally identical to an installation of the very latest version off of CDs. This is one glaring exception.

Having said all that, I'll spend some more time investigating this for a future release since the potential side effects under just the right circumstances are--as you've shown--fairly nasty.

I can understand you not wanting to reinstall. There's nothing very exciting about it. However, people often talk as if it takes all day, when I expect I could install G3, all 5 Add-Ons, and both Expansion Packs in well under a half-hour. I can also understand your comment about reimporting custom content. However, consider that unless you specifically select the option to delete that stuff during uninstallation, it will be left alone and intact. As long as you reinstall to the same directory the next time, all that content will be right where you left it. If you want to be extra safe, just back up the following subdirectories:
  • Airports
  • ColorSchemes
  • Engines
  • G3X
  • Planes
  • Recordings

As for downloading the update again, if you've downloaded those files before then you won't need to download them again. Well, unless you clear your online cache. Don't do that. Now, if you've never updated back to the version on your CDs, it will unfortunately need to download a few files. But it will already have everything you need for the trip back to .044. Even though your installation directory got goofed up, everything in the cache should be just fine, and I'm not suggesting you re-download it (don't select the "completely refresh" option). It's just that updating all the way back and then updating to the latest will decompress the appropriate files from the cache back to their proper locations, and if there is anything missing or out of date in your current installation this should fix it.

It won't hurt anything to attempt the update. It will always tell you how much data it needs to download before actually doing it, and that gives you the opportunity to cancel before it even starts. (It does sometimes need to download the latest Launcher first, but you already have that, and that's only about 1MB.) Try it and then decide. At any rate, if your installation has been corrupted the way you describe, you can't trust that version number. It is most likely reporting the version number of the executable, which may not match the content and other files. If it can't find the .exe version for some reason, it will look at the build.num file, which may not match the .exe or the content in this particular case. There's simply no way to report an accurate version number if not all the files are from the same version.

What version is on your CDs, anyway? It might be possible to avoid downloading anything at all, depending on which versions you've updated to along the way. Let me know.

By the way, you should be seeing the NexSTAR, not the Cessna, in place of aircraft you don't have while participating in a multiplayer session.

As you probably already know, the multiple-import idea has been mentioned several times. It is in our list of things to consider for a future version. We realize it would be a useful feature.

I hope this helps!
Reply With Quote
  #9  
Old 01-17-2007, 10:37 PM
Sammy Yousef Sammy Yousef is offline
Registered User
 
Join Date: Apr 2005
Posts: 348
Thanks

Ryan,

Yes the information has been very helpful. I appreciate you've been quick to respond, and very informative. I feel I should at least answer your questions. Briefly (since I'm replying from work).

- I can't tell you until I get home what versions of the disks I have. I have the original G3, bought soon after release, without the heli update. I have the downloaded heli update. I have all 5 G2 addons (bought for G2 before G3 had been released, so yes old). I also have the 2 addon packs for G3. I believe it was the second G3 addon. took me to 3.0.448. I have the latest file to update to 3.5 (non beta). If you can tell me a reliable way to tell what versions of the disks I have I'll be happy to supply that information and anything else you require as time allows.

- My installer has in recent memory always tried to download the file again, whether or not I cleared my cache. I thought this was normal. Possibly it was one side effect of the issue I've just resolved. I don't know. I'll give it a try when I get a chance. Probably at the weekend.

- Sorry it probably is the Nexstar not the Cessna. I said that from memory. Next time I fly multiplayer (can't tell you when) I'll see what's coming up.

- Are there any other differences between a new and old install that you're aware of? You said this was one glaring difference. Any others? After the recent verbal sparring matches here and these experiences over the last couple of days I truly do wonder if others are seeing similar issues (then reporting the latest beta is rubbish). If so it's hurting your product. It'd explain a lot.

- I would encourage everyone to at least check the version number on their launcher matches the version number in reported the help/about when running the software before making complaints about flight dynamics. It turns out ignoring this is a mistake (or at least was in my case). It was very confusing because the launcher when updating reports that "you have the latest version", but the running software clearly wasn't the latest.

- I would encourage Knife Edge to produce some kind of verification tool for the installation, or include it as part of the installer. It's very hard for an end user to verify for themselves what versions of the files they have.

- I can tell you definitively that I've never had 2 versions of G3 on the laptop. (I simply don't have room for 2 versions, and have been deleting things for months now to recover space). That's one reason I stuck to .448 and kept going back when there were issues with the latest version. (The other is that I'd probably be instantly fired if somehow implicated in copyright infringement. I'm therefore very careful.). The other program that eats a lot of space is Microsoft Flight Simulator. With all the free addons I can get it's easily taking up about a quarter of my drive (100Gb, 90Gb formatted).

Gotta go. Thanks again.

Sammy
Reply With Quote
  #10  
Old 01-18-2007, 03:20 AM
Sammy Yousef Sammy Yousef is offline
Registered User
 
Join Date: Apr 2005
Posts: 348
An idea - MD5SUM

Ryan,

I have an idea. Assuming it wouldn't be too difficult to get a list of static files (those that aren't changed depending on where the software is installed), and assuming most the actual program files (rather than content) is static, would it be possible to provide a list of these static files with their MD5SUM for the latest version? A user would be able to run an md5sum on the local file and tell if it's the same.

Heck if you automated the whole thing, you could make that your check in the installer. Not trivial but not hard either....but that's a longer term thing.

Sammy
Reply With Quote
  #11  
Old 01-18-2007, 05:34 AM
Sammy Yousef Sammy Yousef is offline
Registered User
 
Join Date: Apr 2005
Posts: 348
ProgramToLaunch Registry entry vital

I hadn't yet bothered to add the ProgramToLaunch registry entry you described.

- Launching from the launcher gave me a messed up Most Recently Used Aircraft List with a large number of entries (a problem described by other users for which the solution was to delete MRU data from realflight.ini)
- Launching from the Realflight executable gave me a normal and reasonable MRU aircraft list.

So I decided to try adding ProgramToLaunch. Sure enough this fixed problems. Launching using either technique gave me a consistent MRU aircraft list.

I'm adding this information for 2 reasons:
1) In case anyone else comes across this issue
2) For KE staff to look at if they try to resolve the issue in a future update.
Reply With Quote
Reply

Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 01:00 PM.