Using ProcMon on Windows Phone Emulator - windows-phone-8

I have a Windows Phone 8.1 project that refers to a Windows Runtime Component, which exposes some other native projects of mine. The problem is I get a System.IO.FileNotFoundException when running it on emulator. However, if I catch the exception and check exception.FileName, it's null.
The guy here has mentioned he used ProcMon to figure out which file was missing. How do I use ProcMon to monitor file accesses made by an emulator? I tried monitoring the emulator process itself, but that didn't produce any info.

There is no way provided to run desktop apps such as ProcMon on the emulator. The linked post was able to run ProcMon on Windows, not on Windows Phone.
Your best bet is to debug the app running on the emulator. Use the unmanaged debugger so it can break in the native code, break on the first chance exception, then see where in the stack this is called from. Once you know where the problem is, you can set a break point at the beginning of the function then either step through or set a trace point to see what files are being used and what the app thinks it is doing then.

Related

Crashes loading surface when deployed on non-development machine

I've just coped a release version of my application onto a fresh non-development machine and I've found whenever a Scichart surface loads the program crashes with the standard "Application has stopped working: A problem caused the program to stop working correctly."
I've got two identical machines that I've loaded the application onto, however, I was using one while using the trial version of Scichart, so I'd installed the trial onto it so I was able to run the software for a demo. Now I've got a full license, it's all fine on that machine. But I can confidently rule out hardware.
I think I might not be deploying the license correctly? But if that were the case the charts should be blank rather than crash the program.
I've updated to the latest 4.05 release.
Any ideas where to look for the problem? Cheers.
It sounds to me like either the application itself is throwing an Exception, or the .NET4.0 Runtime is not installed on the target PC.
To check the latter, ensure that .NET4.0 Runtime (or 4.5/4.6 if you are compiling for this version) is installed on the target PC.
If that doesn't help, you need to write a global catch-all handler in your WPF application and log the exception that you are getting. Then, from the exception message, stack trace, inner exception (if any) you should be able to identify the problem.
Also, the WPF Charts with DirectX Hardware Acceleration have some dependencies, but SciChart is designed to fall back to software rendering if dependencies are not found.
Finally, certain components in SciChart, such as WPF 3D Charts, require the Visual C++ 2013 Runtime. There should be an exception thrown if VC++2013 is not found on the target PC. But apart from that, the dependencies are pretty slim.
Comment here with what you find.

Runtime Exception in windows build

I am able to generate & install windows phone build in my Microsoft Lumia 640. Its running on Windows OS 8.1.
But as soon as I run application generated by CN1 build server, it gives error
An internal application error occurred: java.lang.RuntimeException Unsupported operation as per below screen shot.
For a testing purpose I created new CN1 Project and without changing any code / theme.res I just sent windows phone build and it ended up with the same error.
Unfortunately I didnt get any log output from windows phone, as it doesnt support Logcat like Android. Also I tried to grab Isolated Storage by WP Power Tools but there was nothing in it.
Anyone faced / facing this in Codename One windows phone build ?
The Windows Phone port is the least mature of the Codename One ports having gone thru 3 rewrites due to changes from Microsoft.
We are now debating the 4th rewrite, in the meantime some community members did their own port which should be more complete:
https://github.com/Pmovil/CN1WindowsPort
So as the short answer I suggest using that. For an explanation on how we got here read on.
The reason we didn't already start with the 4th port was Microsofts project astoria that they suddenly (might have) canceled. We were relying on this project for future Windows Phone support but now that its status is unclear we are in a bind.
We also have the JavaScript port & the Windows desktop port as options for targeting windows phone alleviating some of the problem.
If MS cancels the project for good we'll dedicate the resources for a complete rewrite of the port, but that will take time. However, we don't want to start off on such a huge effort and suddenly be faced with a huge shortcut of Android compatibility.

WIndows phone app solution showing deployment error even after a successful build

Its saying "The project needs to be deployed before it can be started.
Verify the project is selected to be deployed or deploy it explicitly by clicking one of the deployment commands in the Build Menu."
I have tried to explicitly deploy it from the build menu but its all in vain. Not able to understand whats wrong.
It may be caused by the fact that no devices are detected.If you try to debug on a real device, it may no be detected by your computer or VS. If you use the emulator, it may be an error with the emulator (like for example, the emulator doesn't launch, so you can't deploy on nothing).
Try removing Apache Cordova Tools Package.
Worked for me.

Failed to unpack .xap Windows App Certification Kit 3.3

I am trying to run a Silverlight 8.1 WP application through the Windows App Certification Kit and I get an error stating that the file is not a valid .xap file. I'm not sure why it is happening and not finding much about it other than one article that hints at a manifest issue. I am however able to take a dummy Silverlight 8.1 app and Certify that without error (it fails of course, but no error). The actual error is:
Failed to unpack 'xap file'. The file does not appear to be a valid xap package.
Does anyone out there know why this can happen or at least where in the manifest I might start looking?
The answer to this turned out to be an issue with the Microsoft SDK I was using. The way I figured this out is by attempting to upload the .xap file to the store even though I got that very vague error because I was still able to side load the application, so I knew to some degree the .xap file was valid. I got the following error.
The last two errors (2001) gave me more to go on, so I did some research and came across this SO post which pointed to an issue with the Advertising SDK. It turns out that the SDK I was using was adding 2 entries for some reason instead of telling me it was the wrong SDK. I used the one that came with VS 2013 Update 1, but for Silverlight, you need to use the one located here under Windows Phone 8.1 Silverlight Apps
After installing this package (make sure it is 8.1 and not 8.0), I referenced that SDK and all was well again.
Hope this helps someone else with this issue
For anybody else with similar problem, executing WACK on its own (not through VS command) runs smoothly.

Windows (phone) emulator 8.1/10 stuck at loading the OS

I've been trying to get the emulator to work for days. Previously I tried the Windows Phone 8.1 Emulator as well as the Windows 8.1 Simulator and both were stuck at loading the OS.
Earlier today I installed the new Windows 10 Tools and thought I should give it another try with the new Windows 10 Emulator... And no, still the same result.
What's strange is that, the Hyper-V Manager seems to be doing OK. I can see the app displays correctly on the little Preview window (see the box on the left side of the picture below).
Also, breakpoints are hit, the project seems to be running OK.
As many answers have already suggested, I tried letting it running for an hour, but still nothing came up.
Things that I've also tried include uninstalling all the Virtual Machines as well as repairing the WP 8.1 Emulator, nothing has worked so far.
Please help, this has driven me completely insane. :(
Update
Not sure if this would help, but if I change the Windows Phone Emulator Internal Switch to use Private network instead of Internal, I will get a couple of warnings saying Unable to determine the Host IP address and then the Emulator will show up with the Emergency Call screen. Not much I can do from there as the three buttons on the bottom are not functioning at all.
I understand that changing the connection type is not the right way to do it, but this at least tells me that the Emulator can work, it's just a matter of how.
I believe you have two Windows Phone Internal Switch connections and one seems to be unplugged while the other is running. Disable the one that is unplugged and leave the latter. This worked for me after 2days of tinkering. God speed.
Try the following.
Open the Hyper-V Manager
In the Actions pane, click Hyper-V Settings
In the Server pane, select Physical GPUs
Uncheck, Use this GPU with RemoteFX
Click OK to save/close.
Attempt to start the Windows Phone emulator VM from within Hyper-V Manager or Visual Studio.
I solved this problem by simply adding XDE.EXE as an exception to my Windows Firewall.
Just today
Many times it is not stuck. It just does take too long to start. I have an 8 core processor and it took like 5 minutes to launch, I tought it was stuck but it did launch.
Not sure if this would help, but if I change the Windows Phone
Emulator Internal Switch to use Private network instead of Internal, I
will get a couple of warnings saying Unable to determine the Host IP
address and then the Emulator will show up with the Emergency Call
screen. Not much I can do from there as the three buttons on the
bottom are not functioning at all.
when you set it to private network, Windows can't interact with your WP Emulator. Open Network Adapter, and try disable and try start emulator again, then enable again this adapter if it is not work *
I contacted the Visual Studio Team a couple of weeks ago and looks like they have fixed this issue in the latest update. And here is how I finally got it all working.
Update your Windows 10 TP to the latest version (currently 10074).
Install the latest Visual Studio 2015 (currently RC).
Install Windows 10 developer tools preview from here (I got
some weird errors with Error code: -2147023294. Ignore them, go
straight to the next step).
Install the standalone Windows SDK for Windows 10 Insider
Preview from here.
Install the Pre-release Microsoft Emulator for Windows 10 Mobile
from here.
That's all! After all these are done, both my Simulator and Emulator are loading up fine.
In my case, deleting the internal switch from Hyper-V virtual switch manager helps, whenever you run your app using emulator as the target, it'll add a new internal switch by itself and the emulator will run normally (no longer stuck on loading screen)
The problem is, I have to do it every single time I restart my PC
The workaround steps to install the Windows SDK and Emulator are no longer needed.
We have released a fix as of 7PM PDT 30 April 2015 for the setup error
Windows 10 SDK 10.0.10069 : The installer failed.
User cancelled installation. Error code: -2147023294"
New setups should no longer encounter this issue.
For existing installations, and for more information, see this forum post:
https://social.msdn.microsoft.com/Forums/en-US/17bc9d5e-2ea7-4149-bb75-23997db8bd25/
This worked for me:
Go to Windows Defender.
Add exclusion following path: "C:\Users\UserName\AppData\Local\Microsoft\XDE\YourEmulatorVersion"
YourEmulatorVersion - for example 10.0.14393.9
2 days, tried all that is posted here but nothing worked! Finally, since it is a lot easier nowadays to (re)install windows without loosing your files (3 hours including updates), I just resorted to that. Same thing happened, but then I saw the alert that I had not yet activated my VS to run in developer mode :) Did that, and voila, the emulator now works.
If this might be helpful: my problem started when I installed Android Studio and disabled Hyper-V from Android. Enabling it back for VS just couldn't get me to run it again. But I hear there is a way to run both Android & VS emulators using VS emulator for Android. I will try to see how that works later...
I know the question is old, but none of the above answers worked for me so I write down my two cents:
Go to Hyper-V console and remove all emulators
Go to Devices Management, under network adapters tree node, delete all virtual switches
Run an emulator from Visual Studio and see the magic happen