Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-24318] Windows App Certification Kit Failed

GitHub Issuen/a
TypeBug
PriorityCritical
StatusClosed
ResolutionNot Our Bug
Resolution Date2017-10-19T03:58:56.000+0000
Affected Version/sRelease 6.0.1
Fix Version/sn/a
ComponentsWindows
Labelsapp_certification, certification, merge-6.0.2, store, windows8.1, windows_phone, windows_store, windowsphone
ReporterLuca Sartori
AssigneeKota Iguchi
Created2017-01-16T19:19:49.000+0000
Updated2018-08-06T17:52:08.000+0000

Description

I package the app with Appcelerator Studio and i submit the package to windows store but the windows store certification process failed with *2001 error code*. I try to test the package with tool *Windows App Cert Kit* and the certification process failed for this errors: {quote} *Error Found: The supported APIs test detected the following errors:* This API is not supported for this application type Api=SuspendThread. Module=api­ms­win­core­processthreads­l11­2.dll. File=HAL.dll. This API is not supported for this application type Api=ResumeThread. Module=api­ms­win­core­processthreads­l1­12.dll. File=HAL.dll. This API is not supported for this application type Api=Sleep. Module=api­ms­win­core­synch­l1­2­0.dll. File=TitaniumWindows.dll. *Impact if not fixed:* Using an API that is not part of the Windows SDK for Windows Phone Store apps violates the Windows Phone Store certification requirements. *How to fix:* Review the error messages to identify the API that is not part of the Windows SDK for Windows Phone Store app. Please note, C++ apps that are built in a debug configuration will fail this test even if they only use APIs from the Windows SDK for Windows Phone Store apps. [Alternatives to Windows APIs in Windows Phone Store apps.](http://go.microsoft.com/fwlink/?LinkID=324326) {quote} Can you help me? Thank you in advance

Attachments

FileDateSize
TIMOB-24318-patch.zip2017-01-20T02:01:47.000+00006319158
Windows App Certification Kit - Test Results.pdf2017-01-16T19:12:30.000+0000142482

Comments

  1. Ewan Harris 2017-01-17

    I can reproduce the issue in the below environment Windows 8.1 Visual Studio 2013 Ti SDK 6.0.1.GA

    Steps to reproduce on above configuration

    Create an app using appc new/ti create

    Package the app for Windows Phone 8.1 using appc run/ti build -p windows -T dist-phonestore

    Validate the app using Windows App Certification Kit

    However, *I am unable to reproduce in the following environment* Windows 10 Visual Studio 2015 with 10 and 8.1 sdk Ti SDK 6.0.1.GA

    Steps on above configuration

    Create a new app appc new/ti create

    Package for Windows Phone 8.1 with appc run/ti build -p windows -T dist-phonestore --wp-sdk 8.1

    Validate the app using Windows App Certification Kit

    *Notes* Taking the appxbundle produced with Windows 8.1/VS 2013 and running WACK on Windows 10 (WACK version 10.0.14393.33) does not produce the failure.
  2. Luca Sartori 2017-01-17

    Dear Ewan, you sugget to upgrade my OS to Windows 10 to solve the Microsoft Certification problem?
  3. Kota Iguchi 2017-01-18

    I am not quite convinced why Windows App Certification Kit fails for following functions even when they are marked "*Supported on Windows Phone 8.1*" :( I remember we haven't been failing this tests even we target WP 8.1, so I expect Microsoft changed its behavior at some point of the SDK update... * [SuspendThread](https://msdn.microsoft.com/en-us/library/windows/desktop/ms686345(v=vs.85).aspx) * [ResumeThread](https://msdn.microsoft.com/en-us/library/windows/desktop/ms685086(v=vs.85).aspx) * [Sleep](https://msdn.microsoft.com/en-us/library/windows/desktop/ms686298(v=vs.85).aspx)
  4. Kota Iguchi 2017-01-18

    I was not reproduce this issue when I use Windows 10 & Visual Studio 2015 with 10 and 8.1 SDK on my end, so I would think upgrading to them solve this certification problem.
  5. Luca Sartori 2017-01-18

    Dear Kota, with Windows App Certification Kit of Windows 10 the option "Windows Phone 8.1" is been deleted there is only option "Validate Store App". If i selected "Validate Store App" option *the certification test passed*. But when i submit the package (that have passed certification) to Windows Store, the windows store certification process failed with this error message: *This submission failed with error code(s) 2001. More info about the error(s) can be found here* Where here is a page with this description: {quote} You may see error 2001 when problems with Windows Phone packages are detected during preprocessing. In most cases, you will need to rebuild your app's package to correct the error. Once you've done that, replace the old package with the new one on the Packages page of the submission before you click Submit to the Store again. There are a number of issues that may cause this error. Review the list below to determine which might apply to your packages. One or more assemblies in the package are obfuscated incorrectly: Use a different tool to perform the obfuscation, or remove the obfuscation. The compile process optimizes the obfuscated assemblies, but occasionally some assemblies are obfuscated using a tool that modifies the MSIL in an unsupported way that will cause an error. The size of one or more methods in the app exceeds 256 KB of IL: Refactor the offending method into smaller functions. The size of MSIL for methods in an assembly can be determined by using the ILDASM tool. The strong name signature validation failed for one or more assemblies: This error typically occurs when the strong name signing was performed using a key different than the one expected in the assembly metadata. Sign with the correct key, or remove strong name signing. The package contains mixed-mode (with managed and native code) assemblies: Mixed-mode assemblies are not supported on Windows Phone. Remove the mixed-mode assemblies from the package and resubmit the app. A Windows Phone 8.1 XAP or appx/appxbundle assembly is not valid: Make sure your .winmd file has at least one public entry point. You can use any decompiler application to review the code and check for public entry points if needed. {quote}
  6. Kota Iguchi 2017-01-19

    Let me check, but [~luk3luk3] could you try latest nightly sdk? appc ti sdk install --branch master 6.1.0.v20170118152304 You might also need to clean your project appc ti clean then.
  7. Luca Sartori 2017-01-19

    Dear Kota, i have tried to build with SDK 6.1.0.v20170118152304, Windows 10 *ti build -p windows -T dist-phonestore --wp-sdk 10.0* (--wp-sdk 8.1 encounter same certification problem) and i submitted the appxbundle to windows store. Now Device Family supported are only Windows 10 Desktop, Windows 10 Mobile, Windows 10 Holographic (Windows 8.1 are not supported). The certification process passed the *Pre-processing* step where the previous build 8.1 stop with 2001 error. The problems on wp10 and titanium SDK 6.1.0.v20170118152304 respect wp8.1 are several. First: the app random crash. Second: the visual element as textfield, label, button and other elements have a different behavior with same tss style file. Example: textfield background color property don't work, label ti.Ui.Size don't work. Summarizing: wp8.1 app is much stable and stylish of wp10, but not pass certification process (*Pre-processing* step ) for not supported API. About Not supported API (SuspendThread, ResumeThread, Sleep) it is difficult to patch?
  8. Kota Iguchi 2017-01-20

    {quote} About Not supported API (SuspendThread, ResumeThread, Sleep) it is difficult to patch? {quote} [~luk3luk3] I'm pushing fixes for them. I have create a patch, could you try [^TIMOB-24318-patch.zip] ?

    Go to C:\ProgramData\Titanium\mobilesdk\win32\6.1.0.v20170118152304\windows\lib

    Rename HAL folder to _HAL (Just in case to restore them later)

    Rename TitaniumWindows folder to _TitaniumWindows (Just in case to restore them later)

    Copy HAL and TitaniumWindows folder from [^TIMOB-24318-patch.zip]

    Copy _HAL/win10 to HAL folder

    Copy _TitaniumWindows/win10 to TitaniumWindows folder

    Then go to your project folder, appc ti clean and build your project

  9. Luca Sartori 2017-01-20

    Dear Kota, First thank you for support! i download and applied your fix. Step 1 OK Step 2 OK Step 3 OK Step 4 OK Step 5 and Step 6 not applied on WP8.1 beacuse win10 folder not exists. Step 7 OK If i start package dist with wp8 and i receive an error because in the HAL folder there was no include dir. I resolved copying the include folder from old HAL_ folder. Finally when i submit the appxbundle to App Certification Kit 3.3 of Windows 8.1 *the result test is PASSED*. But if i submit the appxbundle to Windows Store after 2 minutes i *receive the 2001 error in Pre-Processing step* (I have already written to Microsoft support to help me on this problem). For now only appxbundle based on WP10 have passed the *Pre-Processing step* on Windows Store (But on WP10 as reported in previous comment the app random crash, and the visual element as textfield, label, button and other elements have a different behavior with same tss style file. Example: textfield background color property don't work, label Ti.Ui.Size don't work).
  10. Luca Sartori 2017-01-24

    This is reply from Microsoft Support Team about 2001 error code: {quote} Hello, I appreciate your response. I reached out to the certification team and they were not able to narrow down the error or the cause of it. Due to the 2001 error that you received on the submission, you will need to troubleshoot with the suggestions below. "You may see error 2001 when problems with Windows Phone packages are detected during preprocessing. In most cases, you will need to rebuild your app's package to correct the error. Once you've done that, replace the old package with the new one on the Packages page of the submission before you click Submit to the Store again. There are a number of issues that may cause this error. Review the list below to determine which might apply to your packages. One or more assemblies in the package are obfuscated incorrectly: Use a different tool to perform the obfuscation, or remove the obfuscation. The compile process optimizes the obfuscated assemblies, but occasionally some assemblies are obfuscated using a tool that modifies the MSIL in an unsupported way that will cause an error. The size of one or more methods in the app exceeds 256 KB of IL: Refactor the offending method into smaller functions. The size of MSIL for methods in an assembly can be determined by using the ILDASM tool. The strong name signature validation failed for one or more assemblies: This error typically occurs when the strong name signing was performed using a key different than the one expected in the assembly metadata. Sign with the correct key, or remove strong name signing. The package contains mixed-mode (with managed and native code) assemblies: Mixed-mode assemblies are not supported on Windows Phone. Remove the mixed-mode assemblies from the package and resubmit the app. A Windows Phone 8.1 XAP or appx/appxbundle assembly is not valid: Make sure your .winmd file has at least one public entry point. You can use any decompiler application to review the code and check for public entry points if needed." {quote}
  11. Kota Iguchi 2017-01-25

    Hmm, so basically Microsoft provides no useful information, right...? :( So 2001 error code indicates some possibilities but as far as I can see we don't have issues with it (We once saw it in TIMOB-20192, and we resolved it). - We only do native code (C++/CX), so there's no mixed-mode code - Only managed code (VB/C#) uses strong name signing. - We don't do anything special to obfuscate code either. - All .winmd has at least one public entry point (Can be determined by ILDASM tool) - Assemblies are not exceeding 256 KB 256KB of IL (Can be determined by ILDASM tool)
  12. Luca Sartori 2017-01-25

    Yes, Kota is third email to Microsoft Support Center but no useful reply i have received. I have asked to Microsoft the log of certification process of my app (as the log that you can produce with Microsoft App Certification Kit), now i am waiting for reply. If i port my app on Windows Mobile 10 the certification process pass. I don't know where is the problem on Windows Mobile 8. Why I have to limit the application to Windows Mobile 10 smartphones when the app can be installed also on older smarphone given that does not require special feautures of WP10? No reply of Microsoft...
  13. Kota Iguchi 2017-10-19

    Closing this, I would consider this is not our bug (even Microsoft was not able to resolve this) and also Microsoft no longer supports Windows Phone 8.1.
  14. Eric Merriman 2018-08-06

    Closing as "not our bug". If you disagree, please reopen.

JSON Source