x64 / x86 Combined Build with DLLs in UWP app

Ross Chisholm 1 Reputation point


My team currently ship a UWP app in the store for x64 only. We're trying to get a combined x86 and x64 build available. The app makes use of DLLs that have both x86 and x64 versions.

Our builds originally were:

x64 Build: Package contains both x64 and x86 DLLs
x86 Build: Package just contains x86 DLL

Previously when we created a combined build, we failed pre-processing on submitting to store because it couldn't merge .pri resource files. This was because the x86 build contained processor architecture specific conditionals so we just includes x86 DLLs. The Microsoft team advised us to just create a combined build where both versions of the DLLs where shipped in both packages. This should be fine at the x86 manifest only lists the x86 DLL.

However, we're now failing certification on the submission because it's detecting there's a x64 DLL in the x86 package.

Has anyone got experience of doing this? We ideally want the same version number of app for both x64 and x86 versions otherwise maintaining them in future is going to be harder.

Universal Windows Platform (UWP)
No comments
{count} votes

1 answer

Sort by: Most helpful
  1. mcosmin222 1 Reputation point

    You can create 2 different packages which share the same version and distribute them as bundle. First, you need to make sure your app builds for both x64 and x86 and does not contain intruder assemblies. Then you can select to build both x86 and x64 when you create the store bundle. This will essentially create 2 packages, once for each architecture, but will be on the same version. You will upload the bundle containing the 2 packages as a single file. Then the store will distribute x86 to 32 bit systems (or ARM64).

    No comments