UIAutomationCore.dll

Any problems with your Installation or other install related questions, please post here

Moderators: Steve Waite, SysAdmin

UIAutomationCore.dll

Postby Steve Waite » Fri Sep 25, 2015 3:56 pm

In Windows 10 continue to use a copy of the 16386 dll in the FSX folder. This helps prevent tooltips appearing too often when hovering the mouse over the VC in window view.

How to reliably cause a CTD in FSX and UiAutomationcore.dll: Load a saved flight file (.FLT) from explorer Open with...FSX, use a saved file with the cockpit in view so that the tooltips can be easily invoked with the mouse. ALT+ENTER until in windowed view, choose a new time of day in the Alt menu, say change from dawn to dusk, go to cockpit view (VC or 2D) and start hovering the mouse to invoke the tooltips. FSX should UiAutomationcore.dll CTD usually within a minute. That's because it is utilising a newer dll where code has since altered in function, with later versions of Windows (found in the Windows\system32 folder). We can place a dll that is compatible with FSX into the FSX folder and from there FSX will use that instead of the system one. We can check in exactly the same way and find that no amount of invoking the tooltip will cause the CTD now.

A note about UiAutomationcore.dll on FSX with Win7 Win8 and Win10:
UiAutomationcore.dll v6.0.5840.16386 is 32bit, and should be placed in the FSX program files folder (where we find FSX.EXE), dlls found there by FSX are loaded first. If it's not found there then UiAutomationcore.dll that comes with Windows will be loaded and in Win7 and above, it's not strictly compatible with FSX. I have found the wrong versions copied to the FSX folder which causes the same exception. Exceptions come from UI rectangle calculations. Other exceptions and programs can interfere with the working of UIAutomationcore.dll and exceptions can result that way. When a system is working reliably, UIAutomationcore.dll v6.0.5840.16386 will not cause any problems.

The compatible dll may be invoked by other means for example installed by another app. Free tools are available to check which dlls are loaded. Even so since the compatible dll cannot cause a problem it will not hurt to be sure to place the UIAutomationcore.dll v6.0.5840.16386 within the FSX folder since it ensures that kind of CTD won't occur if anything changes subsequently.

Dovetail Games FSX Steam Edition :
UIAutomationcore.dll v6.0.6001.18000 is supplied ready installed as part of the Steam installation. If we remove this file we risk the same CTD.

Lockheed Martin P3D:
Prepar3D is unaffected by UIAutomationcore.dll as it is a native desktop app utilising desktop windows showing D3D11 viewports. On the other hand, FSX is a native games app utilising exclusive mode full screen capability that can be viewed in windowed mode.


Without going into too much detail about what UiAutomationcore.dll is for, this library provides access to application user interface objects and events to other .NET applications which contain mouse position and rectangle locations for events. So basically it's a set of software functions made available from the dll for the application loading it to use to obtain events and manipulate controls. When we use FSX on Windows 7 and above the versions of UiAutomationcore.dll available on the system are not strictly compatible with FSX, so we use the versions specified above. In most cases these are not used anyway and never present a problem. However some systems with various addons and controllers might exhibit a problem whereby a CTD is shown in the error log to emanate from UiAutomationcore.dll, BEX, and StackHash. By the way, StackHash is when the system is unsure of the location of the error. Using the menu in FSX or simply starting up FSX could invoke part of the simulator to use functions exported from UiAutomationcore.dll. If one of these functions is incompatible then an error and CTD can be a result, most functions are fine. So we might find that some function is being used that simply makes one of the incompatible calls. In these cases placing the proper version of UiAutomationcore.dll into the FSX folder ensures that the call is made to a compatible version. Since UiAutomationcore.dll is not a problem and is not faulty, and makes no problems for the sim, we can simply ensure we place the proper file in our FSX program files folder and forget it. But what if we continue to get problems? Then in that case we have a program that uses UiAutomationcore.dll functionality incorrectly, or fails because of some other symptom or fault, could also be due to a problem in the .NET library. Ideal Flight does not use .NET and is built for reliability from the ground up to avoid possibilities of issues such as these.
software architect at codelegend.com
i7-3960x 32Gb GTX680 4Tb Intel RAID 10 Win10
Steve Waite
 
Posts: 4195
Joined: Wed Jun 29, 2011 12:02 am

Return to Installation

Who is online

Users browsing this forum: No registered users and 1 guest