I am trying to submit a UWP Xamarin Forms app to the Windows store. Everything checks out fine locally. I pass the WACK test (Windows Application Certification Kit) both locally as well as during submission. But during the submission process, I get a cryptic 1201 without any additional information. How can I get additional details to fix this issue.
Looking at some of the posts online, I removed ARM and only submitted an x64 bundle. That seemed to work fine the first time. But when I try and update the submission, I am getting error 1201.
Any and all help would be appreciated.
BTW, I am using VS2019, Xamarin Forms 5.0.0.2083
Thanks in advance.
The issue was not on my end but more to do with the idiosyncrasies of submission process in the Windows Store. I still get sporadic issues but I have resolved it with a combination of the following compiler flags:
Setting the Use64BitCompiler msbuild property to avoid memory issues
true
Ensuring that the release build is clean and working
I will update this answer as I learn more in my subsequent submissions.
Related
I have a UWP project included as part of my Xamarin.Forms solution. When running the Windows App Cert Kit locally, it passes without any issues.
When submitting my app to the store, it fails the certification process with the following error:
Error Found:
The supported APIs test detected the following errors:
API FindFirstFileEx in api-ms-win-core-file-l1-2-0.dll is not supported for this application type. PInvoke.Kernel32.dll calls this API.
Impact if not fixed:
Using an API that is not part of the Windows SDK for Windows Store apps violates the Windows Store certification requirements.
How to fix:
Review the error messages to identify the API that is not part of the Windows SDK for Windows Store apps. Please note, apps that are built in a debug configuration or without .NET Native enabled (where applicable) can fail this test as these environments may pull in unsupported APIs. Retest your app in a release configuration, and with .NET Native enabled if applicable.
I have verified that my app runs in Release mode, and have verified my UWP build settings:
I tried contacting Microsoft's Chat support, but was redirected to enter an Incident Report, where I was then redirected to just ask for help on a forum or pay for advanced tech support, so I haven't been able to get any more information about whether this is a valid failure or not.
Based on the documentation found on FindFirstFileEx (https://msdn.microsoft.com/en-us/library/windows/desktop/aa364419(v=vs.85).aspx), it looks like it is supported by Windows Desktop, Store apps, and Windows Phone. My UWP app was submitted to support Desktop and Mobile families, which seems to be included in the supported clients of this function, so it is unclear as to what is causing the failure.
Any ideas on where to go from here?
Update August 14 2017: This problem should now be resolved in the Store. Please try to re-submit your apps if you hit this issue.
This is a problem in the way the WACK scan is running in the Store, and how it integrates with .NET Native.
For some background, Windows doesn't actually have an API named FindFirstFileEx - it doesn't exist. And the way the WACK's supported API scan works is that it looks at all the APIs you call and verifies if one of the following is true:
It's an API exported by another DLL in your package
It's an API explicitly mentioned in the allow-list
In the case of kernel32.dll!FindFirstFileEx, WACK sees that kernel32.dll doesn't exist in your package so it has to check the allow-list. The allow list doesn't mention FindFirstFileEx because it doesn't exist. Here's what does exist:
C:\Program Files (x86)\Windows Kits\10\App Certification Kit>findstr FindFirstFileEx SupportedAPIs-x64.xml
<API Name="FindFirstFileExA" ModuleName="api-ms-win-core-file-l1-1-0.dll"/>
<API Name="FindFirstFileExA" ModuleName="api-ms-win-core-file-l1-2-0.dll"/>
<API Name="FindFirstFileExA" ModuleName="api-ms-win-core-file-l1-2-1.dll"/>
<API Name="FindFirstFileExA" ModuleName="api-ms-win-core-file-l1-2-2.dll"/>
<API Name="FindFirstFileExA" ModuleName="api-ms-win-downlevel-kernel32-l1-1-0.dll"/>
<API Name="FindFirstFileExW" ModuleName="api-ms-win-core-file-l1-1-0.dll"/>
<API Name="FindFirstFileExW" ModuleName="api-ms-win-core-file-l1-2-0.dll"/>
<API Name="FindFirstFileExW" ModuleName="api-ms-win-core-file-l1-2-1.dll"/>
<API Name="FindFirstFileExW" ModuleName="api-ms-win-core-file-l1-2-2.dll"/>
<API Name="FindFirstFileExW" ModuleName="api-ms-win-downlevel-kernel32-l1-1-0.dll"/>
<API Name="FindFirstFileExA" ModuleName="kernel32.dll"/>
<API Name="FindFirstFileExW" ModuleName="kernel32.dll"/>
Note there are a bunch of entries for FindFirstFileExA and FindFirstFileExW, which are the APIs that actually exist. Whenever your app tries to call FindFirstFileEx, it's actually calling one of these instead.
For C / C++ developers, the pre-processor actually replaces FindFirstFileEx with the A or W version based on the existence of the UNICODE macro.
For .NET developers, the JIT runtime (or, in .NET Native's case, the compiler) figures out whether to call the A or W version based on the specifics of the DllImport attribute, such as the values of the CharSet and ExactSpelling properties.
And herein lies the problem - at the moment, WACK in the Store is running on .NET assemblies before the compiler has substituted the non-suffixed version with the correct suffixed version. When you run WACK on your development machine, it correctly checks the assembly after the compiler has made the substitution, so you see no errors.
The first part of the fix (which is in the works) is to add the non-suffixed versions to the allow-list. The second part of the fix is to make sure WACK runs on the post-compiled bits.
I had the same problem. I opened a chat session (from the dev center), as Peter Torr suggested.
Here is the summary:
Me: My app update is stuck because you have a bug in your certification system. See here: UWP app submission failure due to unsupported API FindFirstFileEx (WACK passes locally)
Support: We are aware of the issue, and are working towards a resolution. I apologize for the inconvenience
Me: Ok, I understand that you are working on the bug. But in the meantime, you could let my app pass, right?
Support: We have a temporary workaround. I can get that info for you if you'd like?
... some minutes later ...
Support: Ok so what I'll need you to do is resubmit your package but include this number XXXXXXXXXXX in the notes for cert section. If that does not work and you app fails cert again, submit feedback on the most recent failed cert report and again insert the number there. I've notated your account to reflect this as well
(real number replaced by XXXXXXXXXXX)
Update 1: Just like #jkh, the automatic certification failed again despite of the number. So I posted the number in a certification feedback.
Update 2: Unfortunately, the "solution" did not help. I now have written an e-mail to the one from the chat support (I got his address after the chat). I am not very confident that this helps. But let's see...
Update 3: I also submitted an incident. (This can be done where you normally start a chat session, but use the button "Submit incident" below.)
Update 4: Answer from incident submission:
Thank you for contacting Developer Support. I understand you have failed certification due to Window Store Policy 15.1 per the API error. After further review I wanted to let you know this is a known issue and currently being worked on a fix by engineers. There should be a fix being rolled out soon and ask that you please wait. If the fix is not implemented by Monday I can have this issue looked into further but since this is a global issue I would recommend to wait for the fix to be rolled out. The moment I hear something as it pertains to the fix I will be sure to reach out and ask that you please try again for certification.
Update 5: I re-submitted my update and I am now waiting for the result.
Update 6: Failed again...
Update 7: Response from incident submission: This is still an ongoing issue and have escalated your issue to our Internal team for further investigation to try and bypass this error for you. Once I receive an update I’ll be sure to reach out.
Update 8: Eventually, after re-submitting, the certification process took two days (!), but now my update is in the store. Wow, what a fight...
I'm facing the same problem. Have submitted a certification feedback report, awaiting some response from Microsoft...
After opening a ticket with Microsoft a few weeks ago I have finally been provided a waiver on my account that allowed me to pass the automated certification.
DO NOT RESUBMIT. I had been told to resubmit and provide certification report feedback on that solution. After resubmitting a few times, I received email responses that my submission had been manually passed, but these submissions had been deleted each time that I resubmitted, so my app still had not been pushed through.
One submission with the number you receive from Microsoft support included in the Notes for Certification and the Certification Report Feedback and with a ticket open with Microsoft will eventually get your submission passed.
Currently I am working in a Xamarin native project which is well developed and in between when we introduced the image view with auto scroll with dot indicators the problem arrived.
The actual problem is when we release or debug from one system only the app is working fine or else if we do that from another system the app is unexpectedly stopped, if the testing phone is connected to the system and if that is in debug state it is working when we remove it from debug it is not working correctly.
I don't know the reason why it is happening.
Initially I thought that there is a problem with the SDK versions JDK Versions and all, I checked by almost equalizing the SDK, JDK and Xamarin versions but unable to detect the problem and correct it for reference of what we added into the project please refer the following links.
How to implement ViewPagers with Dot Sliders in Xamarin.Android?
How to Set auto sliders in pageviewers in xamarin.android
I am unable to detect the actual problem causing the problem can any one please let me know the solution of the problem.
When You get this type of issue then follow the steps below
1. Try to make a exact copy of SDk from the working system and copy in some other drive and map the reference in VS.
2.If that does not work then also, make sure all the versions in systems are equal.
If then also it does not work it is an internal issue so uninstall the complete VS and make a fresh installation this should work at any cost.
Ive spent hours trying to get my Forms app working on UWP. I finally realised I had the Solution Platform drop-down in Visual Studio set to 64 bit. When I set it to AnyCPU or 32bit it works fine.
The error I see is when running against a 64bit build is:
An exception of type 'System.NotImplementedException' occurred in Xamarin.Forms.Platform.UAP.dll but was not handled in user code
Additional information: The method or operation is not implemented.
I get this error in the constructor of the App.cs class in the portable project. The Stacktrace is:
at Windows.UI.Xaml.Setter.get_Value()
at Xamarin.Forms.Platform.UWP.WindowsResourcesProvider.GetStyle(Object nativeKey)
at Xamarin.Forms.Platform.UWP.WindowsResourcesProvider.GetSystemResources()
at Xamarin.Forms.Application..ctor()
at TestForms.App..ctor()
at TestForms.UWP.MainPage..ctor()
at TestForms.UWP.TestForms_UWP_XamlTypeInfo.XamlTypeInfoProvider.Activate_4_MainPage()
at TestForms.UWP.TestForms_UWP_XamlTypeInfo.XamlUserType.ActivateInstance()
When I tried again with a brand new Xamarin Forms project I get the same issue when trying to run it in 64 bit mode.
I cant remember reading anything about Xamarin Forms UWP not being supported on 64 bit.
Can someone from Xamarin help me out ?
Thanks
Looks like you are hitting this bug:
https://bugzilla.xamarin.com/show_bug.cgi?id=33135
If you would like to receive a notification when the bug is updated, you can add yourself to the CC list for the bug. Please note that you will need to create an account on that system if you have not already done so.
When I click on Store Menu -> Associate App with the Store ... OR Create App Packages I got the following error:
An unexpected network error has occurred. The app list cannot be refreshed. Please retry by pressing the Refresh button.
Even I can't upload the appx files because it fails when checking the app identity and publisher ...
I appreciate your help
Thanks
Sam
We are facing the same issue. This thread here says something about large number of apps that could be the reason. We have only 3 apps on the list. So it doesn't really seem to be the reason. Its the same with both Windows Phone and the Store apps. Accessing dashboard in the browser seems to be unaffected.
Also, I tried different ISPs to rule out that reason.
There seems to be a store problem. I'm talking to Microsoft's support, trying to get a feedback for the service to be back up.
Update:
Microsoft seems to have fixed the issue, which really was on their side.
Please, try again, as it should be all ok now. I've tested and it is all working.
I was facing this issue for the last 2 days. It works fine now. It was probably due to the account migration(so not all user would have faced this issue) and unrelated to the count of apps.
Can you try again?
Thank you all, it seems to be working now, MS fixed the issue.
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