So I made a couple of code changes in my automation code to support the differences in the xPaths for the installer dialog I was having issues with. I have passed that point and can successfully install my AUT properly. However, now many/most of the xPaths in my actual AUT also have the differences in xPath recognition with the Element-ControlName set as the parent object to the object I want to deal with rather than having the xPath to the object itself as the parent.
Here is one example:
32bit:
- Code: Select all
/form[@controlname='frmMainDialog']/menubar[@controlname='mMenu']/menuitem[@accessiblename='File']
64bit:
- Code: Select all
/form[@controlname='frmMainDialog']/element[@controlname='mMenu']/menubar/menuitem[@accessiblename='File']
As you can see this will cause 100% of my 3 years of code to fail...

Do you get any technology limitation warnings in your report?
No, none whatsoever.
Reason #1:
The automating process (Ranorex executable) and the automated application (AUT) are not started with the same security rights, i.e. not as the same Windows user.
Everything is started by the logged in user. Who is a domain admin AND a member of the local computer Administrators group.
Reason #2:
Either the automating executable or the AUT are started from a network drive or encrypted folder and consequently do not have the required security rights.
Everything is copied to and launched from the local drive.
Reason #3:
The controls that cannot be identified are implemented in a mixed-mode EXE file (not DLL). This can be the case with some obfuscating applications or assembly merging utilities that create mixed-mode EXE files. The .NET Framework does not support loading such mixed-mode executables in other processes and that's why Ranorex cannot recognize controls implemented within them.
Not the case here. It works properly with the same automation code and same AUT on 32bit windows.
Reason #4:
The controls that cannot be identified are implemented in an assembly that targets a particular platform/processor and the automating executable targets a different platform/processor. This can cause problems on 64 bit operating systems, since such assemblies cannot be loaded by the automating process.
I've tried this already. It didn't seem to make a difference. Changed Target from Any CPU to x86 with no differences.
Reason #5:
The .NET Framework 4.0 Extended package is needed but not installed. An indication for this problem typically is that controls can correctly be identified by the standalone Ranorex Spy application, but not by the integrated Ranorex Spy or Recorder in Ranorex Studio. The application under test uses the .NET Framework 4.0 and you may get Technology Limitation pop-ups saying that specific assemblies cannot be loaded.
The AUT is not .NET 4, however, the .NET 4 Framework and Extended are both installed on the 64bit machine.
Reason #6:
If the application under test is built with the .NET Framework 4.0, a <executableName>.exe.config file (where <executableName> has to be replaced by the name of the Ranorex executable) needs to reside in the same folder as the automating Ranorex executable and it needs to contain the configuration below.
Same as #5, this is not a .NET 4 AUT.
If this or any response has helped you, please reply to the thread stating that it worked so other people with a similar issue will know how you fixed your issue!
Ciege...