Another day another random error hit. Today I try to submit an update for my UWP app to Windows store. I submitted countless number of update previously and never encounter any error especially I always run the Windows App Cert Kit locally before submitting my app as precaution. Everything work great exception app certification failed with the following message:
- Image reference “Resources\Images\Logos\store_logo.png”: The image “s:\t\7E7C79\appcert_2A0C\7463Ooiks.Bugko-MTGTool_220.127.116.11_neutral_split.scale-100_t9y74dhqw19zm\Resources\Images\Logos\square_71x71_logo.scale-100.png” failed the size restrictions of 50 X 50.
- Image reference “Resources\Images\Logos\store_logo.png”: The image “s:\t\7E7C79\appcert_2A0C\7463Ooiks.Bugko-MTGTool_18.104.22.168_neutral_split.scale-125_t9y74dhqw19zm\Resources\Images\Logos\square_71x71_logo.scale-125.png” failed the size restrictions of 62 X 62.
- Image reference “Resources\Images\Logos\store_logo.png”: The image “s:\t\7E7C79\appcert_2A0C\7463Ooiks.Bugko-MTGTool_22.214.171.124_neutral_split.scale-150_t9y74dhqw19zm\Resources\Images\Logos\square_71x71_logo.scale-150.png” failed the size restrictions of 75 X 75.
- Image reference “Resources\Images\Logos\store_logo.png”: The image “s:\t\7E7C79\appcert_2A0C\7463Ooiks.Bugko-MTGTool_126.96.36.199_neutral_split.scale-400_t9y74dhqw19zm\Resources\Images\Logos\square_71x71_logo.scale-400.png” failed the size restrictions of 200 X 200.
What? The logo submitted was not in the correct size? I never changes the logo in this update and all previous submission went without any problem, why now? Wait, it point to the incorrect image instead. But why? Clean build, delete bin and obj folder then rebuild. Run Windows App Cert Kit locally, yet still fail with the same error after submit.
After some search online, found this post in the forum mention about Resource Map issue when building project in Visual Studio. But the post didn’t mention how to check the resource map. Search online about Visual Studio / UWP resource map get me no where.
Hey, let’s unzip the installation package and see if I can figure out something.
- Unzip the app upload package (with .appxupload extension).
- Go into the unzipped folder.
- Unzip the app bundle package (with .appxbundle extension).
- Go into the unzipped folder.
- Here you should find the app installation package (with .appx extension) build for different platforms. For example, mine have: x86, x64 and ARM.
- Unzip each of the installation package (with .appx extension).
- Compare the file unzipped from each platform. All platform should have the same number of files inside (You can use tool like Beyond Compare to do the hard work of comparing).
- In my case, x86 package is missing one file, which is e_sqlite3.dll. This is the problem.
Fast forward, I recently moved the reference of SQLite library in the project from Visual Studio SQLite Extension to nuget package for DevOps purposes. I though that was the problem, but it wasn’t. Actually it was just a simple miss selection that I wasn’t notice when create app packages (I don’t even remember I changed them). Under the x86 architecture, the solution configuration was changed from “Release (x86)” to “Release (Any CPU)“. That is the problem. Switching back to “Release (x86)” and the problem go away.
Gosh, this error really caught me out of no where. Wasted a day staring on the app packaging.