Forum Discussion
Differentiating between appx and msix packages
Is there a way to differentiate between the appx and msix packages, other than checking the extension of the package?
I was looking for some way to check if the package was actually created as a msix package, or was just renamed from .appx to .msix, but could not find anything in the content which could help me check this.
Please guide if I'm missing something.
From a packaging perspective you don't really need to differentiate. The runtime will pick up currently based on the manifest declarations. It won't affected deployment since they share a common deployment stack. Think of a .appx as a really restrictive MSIX file. MSIX will light up new feature sets and includes out of band items like the package support framework.
John.
6 Replies
- jvintzelBronze Contributor
What specifically would you like to determine if it was an .appx vs an MSIX package? From a functionality perspective all of .appx was inherited by MSIX. However, MSIX is not fully backward compatible to .appx.
- pulkitaroraCopper Contributor
As per the https://docs.microsoft.com/en-us/windows/msix/msix-1709-and-1803-support, MSIX is supported on Win 10 1709 and above. However APPX was supported on versions earlier than 1709 as well. Now there is no option to the manual tool (makeappx.exe) that guides it to generate MSIX or APPX.
How can I be indeed sure that I have generated a MSIX package and not an APPX package.
- mikekaganskiCopper Contributor
> Now there is no option to the manual tool (makeappx.exe) that guides it to generate MSIX or APPX.
In fact, there is. It's `MinVersion` attribute of `TargetDeviceFamily` element in AppxManifest.xml. If it's high enough, MSIX is generated, otherwise APPX.