Is there a testing conditions checklist for windows phone apps? - windows-phone-7

I've built a Windows Phone application and was successfully able to get it into the store. I made a few improvements and created a Windows Phone 8 version and submitted the update. However, it keeps failing the certification process (3 times now). I found one issue with the Windows Phone 7.x version and was able to fix that, but now I'm just getting an error that my application fails to run with a silent failure.
I've tried everything I can think of in emulators and devices, but I can't seem to get the failure to happen. It would really be nice if Microsoft would give you more information. Since they don't, I was wondering if anyone had a good list of all the different condition, devices, and steps you go through to test your application before submitting it.
So what are the recommended testing scenarios to test an app in before submitting it to the store?
(What would be really nice would be to see what steps Microsoft uses when they test an app)
BTW - I should mention that I've used the certification tool and the simulation dashboard in my own testing.

Most of the tests used for WP7/WP8 certification are public and can be seen as part of the Windows Phone certification guidelines: App submission requirements for Windows Phone, Technical certification requirements for Windows Phone and Additional requirements for specific app types for Windows Phone. Have a look at the column titled "Test Steps".
Couple of thoughts regarding you specific issue:
Can you share you specific failure report NSTL test results pdf file?
A good way to make sure your second submission goes through is to simply fix the failure from the first submission, and under the "tester notes" say that it's the exact same XAP with one small fix and how it was fixed.
If you can't repro an issue encountered by the testers, you can always resubmit and under the "tester notes" saying just that and ask for more details if it fails again.
The test team may be using 256MB devices (Lumia 610) for WP7 testing and 512MB devices (Lumia 620) for WP8 testing. Have you tested your app in the emulator under those configurations?

We got this problem recently on our two apps on which the another one was an app we did only some text changes. The previous version passed and launced well and the new version did not.
Our reason was very similar as what Bryant tells.
What we did was that after our changes we run the 'Preemptive Solutions Dotfuscator For Marketplace Apps' and upload the dotfuscated xap-file. On our cases the Dotfuscator had changed the size of our own DLL-file (we have our own custom controls for buttons to have two title-lines on the button). At the moment I don't know reason to this but I feel that somehow the Dotfuscator does not found our own DLL properly while dotfuscating (this our DLL is on the References of our project)).
So one reason can be that something goes wrong while dotfuscating. For this reason one should test the dotfuscated xap-file by installing it onto the phone using 'Application Deployment Tool'.
The files and especially the DLL-files inside a yourapp.xap-file can be seen by renaming the file to yourapp.zip and then extracting it.
Tapani

Related

Windows App Certification Kit Warning

I have an app that developed for Windows 7 & 8. Developed in VS2010 using C++/CLI. When tried to certify with Windows App Certification Kit, it shows a warning.
Binary analyzer
Warning: The binary analyzer test detected the following errors:
File C:\Program Files (x86)\MyApp\msvcr100.dll has failed the ExecutableImportsCheck check.
File C:\Program Files (x86)\MyApp\msvcp100.dll has failed the ExecutableImportsCheck check.
Impact if not fixed: If the app doesn’t use the available Windows protections, it can increase the vulnerability of the customer's computer to malware.
How to fix: Apply the SAFESEH, DYNAMICBASE, and NXCOMPAT options when you link the app.
How can I avoid this warning from my app.
It makes no sense to use WACK on your project. It was made to verify WinRT apps, the kind that are published through the Store and run on Windows 8.x or Windows Phone. They need to be safe to run in a very restricted sandbox that makes a very small subset of the winapi available. Limited for security, deployment and power-consumption reasons, what WACK verifies. A desktop DLL like msvcr100.dll cannot meet them. Such apps are built with another CRT, vccorlibxxx.dll
You cannot build such an app with VS2010, VS2012 or higher required. Nor can it run on Win7. You simply need to stop using the tool.
Update: it does appear that WACK was updated in the 8.1 SDK to also verify Windows Logo requirements for desktop apps. This is obscure. Judging from the command help that's displayed when I run appcert.exe /? in an elevated command prompt, you must first create an installer for your app. Then you can run appcert with the -apptype desktop and the -setuppath yourinstaller.exe to have it perform the validation. Some additional command line options appear to matter, like -appusage. I don't know what they mean.
Do keep in mind that this is only useful if you need the Windows Logo certification. There ought to be additional information in the logo program documentation about this. Consider contacting Microsoft if you have Windows Logo program questions.

How to add dll file for windows phone app certification

I use slartoolkit.dll file for windows augmented reality. It working well in my mobile(Nokia Lumia 510) and emulator. then i will send that xap file only to windows phone Store Certification center but test Result is Fail. I don't know what mistake i did.
please any one give me a suggestion
Without knowing the exact error the certification gave you it's hard to say why it failed. I have 25+ apps published and its RARE that I get an app to pass cert on the first time. There is always something small that you miss. A back button crash, forgetting to shut off sound, color settings wrong. There's endless possibilities.
That said, you need to check that the dll is certified for the windows phone. I know that I recently tried to implement a Physics Helper dll just to find out that unsigned dlls are no longer authorized on the windows phone. I believe that it died out with the release of 7.5 but I could be wrong.
Hopefully this gives you some insight and answers your question. Your best bet though is to post the certification failure PDF they sent you. Look in the email it should be attached.
Until there here is some reading material. Microsoft Certification Requirements
Also try using the built in certification tests within Visual Studio Market Test Kit

iOS Remote Debugging on external Devices

I am not sure if I can remote debug an application running on an Iphone which is not next to me? We test your app. well but some users have issues sometimes we can not replicate and dont know where to start digging in this cases. So it would be very easy for us when we can just connect the remote debugger via the internet to an device. Is is possible somehow?
Most of the guys using the app we could remote to there PCs (but the majority dont uses macs...) and run tools there, is this maybe an easier solution?
For Mac Os I found this http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/XcodeDebugging/300-Debugging_Programs_Remotely/remote_debugging.html
But this is not for iOS...
Thx very very much already
Our company just released a service exactly for that purpose: http://apphance.com . It allows you to very easily (5 minutes) integrate your application - add framework project basically and you get all the remote debugging capability included (you can access everything from very nice web panel):
You can see logs of running application (in near-real-time)
You can see how device conditions change over time (rotation, wifi/gprs, battery, others)
You get crashes reported to you automatically with all relevant information
Even out-of-memory errors are reported
Your testers can even report problems by shaking the device - including automated screenshots
and more.....
It's currently, closed beta stage but you can request access and for sure you get it.
All you need to do is get the crash log(you can get this at any time through the Xcode Organizer or iTunes Connect in released Applications) symbolicate it and ask the tester what they did to cause the error. This will give you every piece of info you could of gotten from GDB.
Check out https://testflightapp.com/sdk/, you can get crash reports, remote logs, see how is the teststing going and much more, see link for further details.

How can I run multiple instances of the windows phone 7 emulator at the same time?

I'm creating a multiplayer game for windows phone 7. How can I run multiple instances of the emulator in order to debug it?
You can indeed run multiple instances of the Windows Phone 7 emulator at the same time, and even debug them simultaneously, as I show in my blog post.
Open the folder [Your Drive Letter]:\ProgramData\Microsoft\Phone Tools\CoreCon\10.0\addons
Locate the file ImageConfig.en-US.xsl
Take a copy of it, leaving it in the same directory, and name it something like ImageConfig.en-US 2nd Instance.xsl
Open the copy in a text editor.
Locate the element DEVICE and change it's Name attribute, also assign a new GUID value to ID.
Scroll down the file to locate the part that says PROPERTY ID=”VMID”:
Put a new Guid inside that element – make sure though that you use capital letters rather than lower case.
Save the file
Re open the XAP deployment tool, or Visual Studio, if you already have them open, and you’ll see your new Emulator instances.
See the blog post for more details, and screenshots to clarify some of the steps
You can only run one instance of the Windows Phone 7 emulator at a time on a single machine - that's set by default, and if you don't want to mess with custom configurations. When you deploy from Visual Studio, the same instance is shared between the running instances of the development environment.
However, you can create additional instances of the WP emulator if you follow the instructions in this article. Make sure you backup the config files before editing them.
I had the same problem, trying to test my multiplayer game, and i eventually bought a WP7 device (HTC HD7) on ebay, unlocked it for development purposes, and used it and the emulator for testing.
Since I have experience with the android environment, I can say that denying the possibility of multiple emulator instances really damage the development efforts. Hope Microsoft will change this.
BTW, i'm using the Skiller SDK for the multiplayer and social side of my game (Their official WP7 SDK will be avialable in a few days, and you can download it from http://dev.skiller-games.com). I totally recommend it.
Good Luck.

What's causing this weird Windows Phone Emulator crash?

I am trying to debug my Windows Phone 7 app, and I am getting the following error upon launching the app in the emulator (via VS2010 debug):
Unable to start program
'\Windows\tashost.exe\'
The drive cannot locate a specific area or track.
Any ideas as what may be causing this? The most recent change I made was adding functionality to save game data, via the IsolatedStorageFile. However, it was working for a while with this functionality in there.
I found the problem. If only I had read the release notes. For anyone else that might be experiencing this issue, it is addressed in the WPDT Beta Release Notes.
Release Notes - WPDT Beta 7/16/2010
Unable to start program error if
project not configured to build or
deploy. If a project is not configured
to build and or deploy a game, the
operation will fail with the following
error message:
Unable to start program
'\Windows\taskhost.exe'.
The drive cannot locate a specific area or track
on the disk.
To set a game project to
build or deploy: In Visual Studio 2010
Express for Windows Phone, click
Tools, then click Settings, then click
Expert Settings to enable the Solution
Configurations drop-down. From the
Solution Configurations drop-down in
the standard toolbar, select
Configuration Manager. Check the Build
and Deploy checkboxes.
what worked for me was to update my graphic card driver. Even though my computer said the device was up to date, going to the manufacturer website and downloading the latest drive allowed it to work. (using Nvidia by the way) this was after after about 5 hours of trying to figure this thing out.
also make sure you all the rest of your updates are up to date, and that directX is current.

Resources