I'm working on an AIR app that uses a Native Extension for windows that I developed for the same project. The app calls an ANE method called pingFunction and passes it a String containing the IP address where the pingFunction will perform, believe it or not, a ping test.

The application and it's ANE work great on Flash Builder and even after making it a release, they keep working like a charm on the development PC. The problem is that I've tried on two other computers and the application is throwing the following error:

ArgumentError: Error #3500: The extension context does not have a method with the name pingFunction. 
at flash.external::ExtensionContext/_call() 
at flash.external::ExtensionContext/call() 
at com.mycompanyname.myappname::MyAppName/sendPing()[...  

At the beggining I thought I had to do with the fact that I was using a DLL I compiled using the Debug configuration on Visual Studio instead of the Release configuration, because I read that sometimes the a debug-version of a DLL can use external DLLs. So, I changed it and rebuilt the whole library as a release build. Sadly for me, I'm still experiencing the same result.

Also, I tried changing the swf-version of both the AIR app and the ANE to the AIR SDK version I'm using (14.0), and got again the same error.

The development computer is running Windows 8.1 and the others, where the app is not working, Windows 7 and Windows 7 Service Pack 1.

Any ideas about why this is happening? Any questions or comments that might lead me to the right track will be deeply appreciated.

1

There are 1 answers

0
not-a-robot On BEST ANSWER

Error#3500 is coming because you don't have the required runtime installed on those machines, which is necessary to execute any c++ code .
On your development machine you have visual studio installed and hence you also have msvcr.

Solution of the problem is:

Install msvcr i.e. Microsoft Visual c++ redistribution - 2012 from here.

you need msvcr anywhere you want to run any VS compiled c++ code.