cancel
Showing results for 
Search instead for 
Did you mean: 

Windows Store app failed Certification with Ultralite issues

Former Member
0 Kudos

I am developing a Windows Phone app using windows 8.1 runtime in a Visual Studio 2013 environment. The app uses the Ultralite database version SQL Anywhere 16.0.0.2095. The reference used is located in "C:\Program Files\SQL Anywhere 16\UltraLite\WinRT\WindowsPhone\8.0\ARM\UltraLite.winmd".

When I try to validate the package as a Windows Store App using the Windows App Certification Kit 10.0, I get a series of failures most of which seem to be Ultralite related.

Windows security features test

FAILED

Binary analyzer

  • Error Found: The binary analyzer test detected the following errors:
    • File UltraLite.dll has failed the AppContainerCheck check.

Supported API test

FAILED

Supported APIs

  • Error Found: The supported APIs test detected the following errors:
    • This API is not supported for this application type - Api=DeleteFileA. Module=api-ms-win-core-file-l1-2-0.dll. File=UltraLite.dll.
    • This API is not supported for this application type - Api=GetFileAttributesExA. Module=api-ms-win-core-file-l1-2-0.dll. File=UltraLite.dll.
    • This API is not supported for this application type - Api=CreateEventExA. Module=api-ms-win-core-synch-l1-2-0.dll. File=UltraLite.dll.
    • This API is not supported for this application type - Api=FormatMessageA. Module=api-ms-win-core-localization-l1-2-0.dll. File=UltraLite.dll.

Windows Runtime metadata validation

FAILED

General metadata correctness

  • Error Found: The general metadata correctness test detected the following errors:
    • The overloaded methods Close of type UltraLite.IndexSchema in file UltraLite.winmd have the same number of in parameters without one that has DefaultOverloadAttribute. Exactly one method overload must have DefaultOverloadAttribute.
    • The overloaded methods Close of type UltraLite.TableSchema in file UltraLite.winmd have the same number of in parameters without one that has DefaultOverloadAttribute. Exactly one method overload must have DefaultOverloadAttribute.
    • The overloaded methods Close of type UltraLite.DatabaseSchema in file UltraLite.winmd have the same number of in parameters without one that has DefaultOverloadAttribute. Exactly one method overload must have DefaultOverloadAttribute.
    • The overloaded methods Close of type UltraLite.Table in file UltraLite.winmd have the same number of in parameters without one that has DefaultOverloadAttribute. Exactly one method overload must have DefaultOverloadAttribute.
    • The overloaded methods Close of type UltraLite.ResultSet in file UltraLite.winmd have the same number of in parameters without one that has DefaultOverloadAttribute. Exactly one method overload must have DefaultOverloadAttribute.
    • The overloaded methods Close of type UltraLite.PreparedStatement in file UltraLite.winmd have the same number of in parameters without one that has DefaultOverloadAttribute. Exactly one method overload must have DefaultOverloadAttribute.
    • The overloaded methods Close of type UltraLite.Connection in file UltraLite.winmd have the same number of in parameters without one that has DefaultOverloadAttribute. Exactly one method overload must have DefaultOverloadAttribute.

Are there any possible reasons why this is happening? And can anyone suggest some solutions? This issue has been raised as a SAP Incident without any resolution as yet.

Many thanks for any help.

Mark Turner

Accepted Solutions (1)

Accepted Solutions (1)

tom_slee
Product and Topic Expert
Product and Topic Expert
0 Kudos

This is now fixed. The fix is recorded as Engineering Case #786956. It is included in build SQL Anywhere 16.0.0. 2158 which is now available for download from SAP Service Marketplace.

Former Member
0 Kudos

Hi Tom,

Do you deliver these packages as a nuget package?

Regards,

Adam

chris_keating
Advisor
Advisor
0 Kudos

It is not delivered as a NuGet package - it is supplied as individual files that you add to a project.

Former Member
0 Kudos

Hi Chris,

One of our plugin depends on Ultralite (8.0) and we'd like to support windows 10 as well. But the validation failes with these errors:

FAILED

Supported APIs

  • Error Found: The supported APIs test detected the following errors:
    • API ??0COMException@Platform@@QE$AAA@HPE$AAVString@1@@Z in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ??0ChangedStateException@Platform@@QE$AAA@XZ in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ??0Delegate@Platform@@QE$AAA@XZ in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ??0FailureException@Platform@@QE$AAA@XZ in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ??0InvalidArgumentException@Platform@@QE$AAA@XZ in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ??0NotImplementedException@Platform@@QE$AAA@XZ in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ??0Object@Platform@@QE$AAA@XZ in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ??0ObjectDisposedException@Platform@@QE$AAA@XZ in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ??0OutOfBoundsException@Platform@@QE$AAA@XZ in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ??0OutOfMemoryException@Platform@@QE$AAA@XZ in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?Allocate@Heap@Details@Platform@@SAPEAX_K@Z in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?AllocateException@Heap@Details@Platform@@SAPEAX_K@Z in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?CreateException@Exception@Platform@@SAPE$AAV12@H@Z in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?EventSourceAdd@Details@Platform@@YA?AVEventRegistrationToken@Foundation@Windows@@PEAPEAXPEAUEventLock@12@PE$AAVDelegate@2@@Z in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?EventSourceGetTargetArray@Details@Platform@@YAPEAXPEAXPEAUEventLock@12@@Z in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?EventSourceGetTargetArrayEvent@Details@Platform@@YAPEAXPEAXI@Z in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?EventSourceGetTargetArraySize@Details@Platform@@YAIPEAX@Z in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?EventSourceInitialize@Details@Platform@@YAXPEAPEAX@Z in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?EventSourceRemove@Details@Platform@@YAXPEAPEAXPEAUEventLock@12@VEventRegistrationToken@Foundation@Windows@@@Z in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?EventSourceUninitialize@Details@Platform@@YAXPEAPEAX@Z in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?Free@Heap@Details@Platform@@SAXPEAX@Z in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?FreeException@Heap@Details@Platform@@SAXPEAX@Z in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?GetActivationFactory@Details@Platform@@YAJPEAVModuleBase@1WRL@Microsoft@@PEAUHSTRING__@@PEAPEAUIActivationFactory@@@Z in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?GetActivationFactoryByPCWSTR@@YAJPEAXAEAVGuid@Platform@@PEAPEAX@Z in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?GetIBoxArrayVtable@Details@Platform@@YAPEAXPEAX@Z in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?GetIidsFn@@YAJHPEAKPEBU__s_GUID@@PEAPEAVGuid@Platform@@@Z in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?InitializeData@Details@Platform@@YAJH@Z in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?ReCreateException@Exception@Platform@@SAPE$AAV12@H@Z in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?ReCreateFromException@Details@Platform@@YAJPE$AAVException@2@@Z in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?TerminateModule@Details@Platform@@YA_NPEAVModuleBase@1WRL@Microsoft@@@Z in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?UninitializeData@Details@Platform@@YAXH@Z in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?__abi_FailFast@@YAXXZ in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?__abi_WinRTraiseAccessDeniedException@@YAXXZ in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?__abi_WinRTraiseCOMException@@YAXJ@Z in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?__abi_WinRTraiseChangedStateException@@YAXXZ in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?__abi_WinRTraiseClassNotRegisteredException@@YAXXZ in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?__abi_WinRTraiseDisconnectedException@@YAXXZ in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?__abi_WinRTraiseFailureException@@YAXXZ in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?__abi_WinRTraiseInvalidArgumentException@@YAXXZ in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?__abi_WinRTraiseInvalidCastException@@YAXXZ in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?__abi_WinRTraiseNotImplementedException@@YAXXZ in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?__abi_WinRTraiseNullReferenceException@@YAXXZ in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?__abi_WinRTraiseObjectDisposedException@@YAXXZ in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?__abi_WinRTraiseOperationCanceledException@@YAXXZ in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?__abi_WinRTraiseOutOfBoundsException@@YAXXZ in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?__abi_WinRTraiseOutOfMemoryException@@YAXXZ in vccorlib110.dll is not supported for this application type. UltraLite.dll calls this API.
    • API ?__abi_WinRTraiseWrongThreadException@@YAXXZ in vccorlib110.dll is not supported for this application type. UltraLite.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, C++ apps that are built in a debug configuration will fail this test even if it only uses APIs from the Windows SDK for Windows Store apps. See the link below for more information:

           Alternatives to Windows APIs in Windows Store apps.

Can you help us solve this problem? Does Ultralite support windows 10?


Thank you for your help,

Adam

chris_keating
Advisor
Advisor
0 Kudos

Please confirm the version and build of SQL Anywhere that you are using?  You can confirm the version and build via the DLL properties.

If there is still an issue and you are using a correct version and build, please open an internal issue and it will be investigated.

Former Member
0 Kudos

This message was moderated.

chris_keating
Advisor
Advisor
0 Kudos

And please include the command line with the Windows App Certification Kit tool appcert.exe that shows this?

Former Member
0 Kudos

I created an internal incident and attached the command as well.

Thanks for your help.

Answers (0)