Last month at the Windows Developer Day event Microsoft announced MSIX as the future for Windows application installation. The technical details were pretty light during the presentation. But that lack of detail means some pretty crazy conjectures are thrown about. So, I thought I'd posit some of my own theories before real details came about.
Full disclosure: FireGiant works really closely with Microsoft on many things installation related. So, I may have more insight than the random developer off the street. But when I asked specifically about MSIX details, I was told:
We will reach out broader shortly with some data that is more actionable.
So, again, these are mostly random guesses about the future. I expect we'll know way more no later than //Build this year (aka: next week).
MSIX is APPX
I know MSIX was presented as "MSI + APPX" but in reality the underlying technology is all APPX. More specifically, it's the Desktop Bridge portion of APPX. In the end, my guess is MSIX is more of a re-branding of "Desktop Bridge APPX" to a single name.
If so, I think this is a smart idea. While I think "Desktop Bridge" is a decent description of what it was, mixing it with APPX brought along too much UWA/UWP baggage.
MSIX adds "Enterprise" to APPX
This was inevitable. The Windows 8 application story swung waaaaaay too far into the consumer realm that there was no way enterprises were going to pick it up. The customization and control that enterprises require was completely absent.
And this is where the "MSI" part of the "MSI + APPX" comes in. MSI was designed for the enterprise. So providing the customization and enterprise management of MSI to "Desktop Bridge APPX" was inevitable.
Again, I think this is smart re-branding. Use the enterprise recognition of "MSI" to try gain APPX adoption.
MSI remains the "Anything Installer"
Microsoft is going to push MSIX and so they should. There are several facets of APPX that are better for the consumer (most related the containerization functionality). So if APPX supports what you need, MSIX is definitely something you should consider in the not too distant future.
Now I've been hard on custom actions but I know that pretty much all of you with complex applications have them. For you, the Windows Installer (aka: MSI) will remain your "anything installer".
Again, I think this is fine. Microsoft wants less application code running rampant outside of an "application container". I totally understand Microsoft's point of view. MSI will continue to work fine.
PS: "Anything Installer" should probably be "Anything But Win10S Installer" since Win10S only allows APPX based packages today. From that I suppose one could conjecture a future where Microsoft kills off MSI completely but I don't see it.
progman.exestill runs for goodness sake.
MSI remains the "All Other Windows' Installer"
I see nothing to suggest that Microsoft will take APPX to pre-Windows 10. It would be a lot of work and seems contrary to the direction Microsoft is running with Windows now.
That means MSI remains your installer for not Windows 10. I expect this is not surprising but when I say "All Other Windows' Installer" I do mean Windows Server as well. I've not seen APPX on the Server take off so I'm guessing MSI will remain the answer for Windows Server applications.
Blatant Advertisement for FireGiant
If you've read this far and are wondering "How do I take all my wonderful .wxs code and get an MSIX?" then I'd point you to the FireGiant AppX Extension for WiX Toolset. That WiX Toolset Extension will guide you down the path where a single build will create an .appx or .appxbundle along with your .msi.
And as soon as we get more details about MSIX, it will create MSIX packages as well.
So there are my--probably not terribly crazy--predictions for the future of MSIX. Like you, I look forward to getting actual details about what Microsoft sees as the future of Windows application installation.
In the meantime, keep coding. You know I am.
Send a comment
Something went wrong while submitting your comment. You can try again.
Thank you for sending your comment.