MSIX setting target architecture

Copper Contributor

I have a 32-bit app that I'm packaging with MSIX. I'd like that app to only run on Windows 10/11 x64. Is there a way to do that? In the manifest or during submission? The reason I want to do this is that code is mostly C# but has some C++. The x86 app is well tested now I'd prefer not to switch to x64.

3 Replies
Yes, you can do that by setting the ProcessorArchitecture="x64" attribute from the AppxManifest.
https://docs.microsoft.com/en-us/windows/msix/desktop/desktop-to-uwp-manual-conversion

If you are using Visual Studio, this should be set automatically based on the options you specify in the Configuration Manager.
https://docs.microsoft.com/en-us/windows/msix/desktop/desktop-to-uwp-packaging-dot-net
Thanks for your reply. Unfortunately, that didn't seem to work. In the MSIX project's Package.appxmanifest I added ProcessorArchitecture="x64" to <Identity> and built the project as x86. Then published the MSIX as sideloading. The only architecture available was x86 which is correct. I then tried to install the resulting package (MSIX_3.0.0.0_x86.msixbundle) on a 32-bit version of Windows 10. It installed and ran ok.

Any thoughts on what might be wrong?
Any ideas on why this didn't work?