1

In the ValidationResult that I get when readying my app for submission to the Microsoft Store (which my app "PASSED WITH WARNINGS") , I got this "Fail" under the "Package Sanity Test" section of the report:

enter image description here

I find this confusing, as it says both that "e_sqlite3.dll is designed only for arm processor type" AND that "e_sqlite3.dll is designed only for x64 processor type"

Shouldn't the word "only" preclude multiple statements of that type? Would it make sense for me to say, "My only dog is named Fido" AND "My only dog is named Spot"?

And besides, after complaining that "e_sqlite3.dll is designed only for x64 processor type," the message "admits" that ProcessorArchitecture is, indeed, declared as being x86 in that case. So what's the problem?

I find it odd that this is classified as a failed part of the test, yet the overall results are that my app passed (albeit with warnings).

Here are the Configuration Manager settings for this solution:

enter image description here

What do I need to do, if deploying the app as-is will cause SQLite to not run on some users' machines?

UPDATE

To answer Peter Torr's questions, here are the SQLite references in the project:

enter image description here

All of my SQLite-related usings are:

using Microsoft.Data.Sqlite;

...and as to the project architecture, here is what Configuration Manager says, showing the solution as x86, the main project as AnyCPU, and the Package project as x86:

enter image description here

This is where I try to change the "AnyCPU" to "x86" on the "MyMaps" project so that it is x86 across the board (the screen shot shows x64 selected, but I selected x86 after capturing the screen shot):

enter image description here

When I then select x86 and the "OK" button it tells me this:

enter image description here

So it won't let me change the "AnyCPU" to "x86"...?!?

B. Clay Shannon-B. Crow Raven
  • 8,547
  • 144
  • 472
  • 862
  • 2
    Congratulations that your app passes the validation of **Microsoft Store**! It seems that the **FAILED** message is from the test result of local validation(**Windows App Certification Kit**). In fact, the messages from local validation are not completely accurate. They are just a reference. A more accurate verification result still depends on the validation of the **Microsoft Store**. Now that your app has passed the validation of **Microsoft Store**, you could ignore these **FAILED** messages. – YanGu Mar 26 '21 at 08:36
  • 2
    Personally I avoid AnyCPU since it seems to cause problems (I can't recall what exactly... but problems). And UWP apps are never executed as IL anyway; the Store compiles them to native code. So I would just change your MyMaps project to x86. Do you have two versions of the SQLite DLL in your project (in different directories)?. – Peter Torr - MSFT Mar 27 '21 at 00:18
  • @PeterTorr-MSFT: Please see my Update with screen shots of the SQL references I'm using and the ConfigMan – B. Clay Shannon-B. Crow Raven Mar 27 '21 at 04:55
  • 1
    If your app has passed over the validation of the Microsoft Store, you could ignore the result of local validation(local WACK). The result of online validation is more accurate than the local validation(by using local Windows App Cert Kit app). – YanGu Apr 01 '21 at 07:37
  • Only one day to go on the bounty; if one of you Microsoft guys wants to post an answer, I'll bountify it. – B. Clay Shannon-B. Crow Raven Apr 03 '21 at 05:01

1 Answers1

1

In fact, the messages from local validation(local WACK) are not completely accurate. They are just a reference. A more accurate verification result still depends on the online validation(online WACK) test. Now that your app has passed the validation of Microsoft Store, you could ignore these FAILED messages from local Windows App Certification Kit.

YanGu
  • 3,006
  • 1
  • 3
  • 7