Recently, Rob's been blogging about the new AppX installation technology. My first initial reaction was to cringe and think "Oh yeah, Microsoft is promoting yet another alternative to MSI. That's all we need!"
At first it seemed like AppX would be just another ClickOnce and suffer the same fate.
On the other hand it's not that I really love MSI or anything. It's just that for all the complexity of the Windows platform it takes a really complex service to be able to deploy all the possible combinations. I've always wished that the complexity could be reduced but every year new layers get built on top of old layers making this impossible. I guess that's why I disliked ClickOnce so much. The world simply wasn't ready for ClickOnce.
Now let's talk about Windows 8, Metro, the application store and AppX. The world simply might be ready now.
I'll be honest, I love my iPhone and I'm not really a fan of the app store concept. However Apple is making a boat load of money so obviously I'm in the minority hear. Now to fit into the nice simple world of Metro apps and the app store developers will have to develop within the lines of a box. And AppX seems perfectly capable of deploying applications that fit that box.
Yes, we've heard the lectures in the past about setup development is a first class activity, design for the container and custom actions are an admission of failure. That kind of talk always irritated me because I knew out in the real world people didn't listen and then dumped the problem on the install guy at the last second. But now, the world might be ready to let that sink in. It might be that Metro and AppX makes sense and if enough people want to get into the app store then critical mass can be achieved.
And if they don't, well there's still MSI and no pretending that AppX can replace it like was implied with ClickOnce and MSDeploy.
Also when I read about AppX the XML/XSD aspects had me thinking about writing an IsWiX designer that could author AppX manifests. However, now that I've downloaded the developer preview I realize that Microsoft has already done this by making a visual designer built right into the project. Not a seperate project like a WiX or InstallShield module but a manifest right inside the main project the developer is working on. Now that's making deployment a first class activity in my book.
Appx huh? Hmmm. They just might finally have something there.