The Future of Windows Installer (MSI) in the Light of Windows 10 and the Universal Windows Platform

May 3rd, 2015 by and tagged , , ,

“AppX is now our deployment model. MSI isn’t going to go away, but we want you to move to AppX. We’re investing all of our efforts into making AppX the ultimate installer across the Windows ecosystem.”

The above is a quote from a session that took place during Microsoft’s Build 2015 event, here’s the recording:

Introducing the Windows 10 App Model

Windows 10 dramatically expands the ways in which developers can build apps and games by adding several new programming models, and also expanding the app model to support a broader set of developer scenarios. Andrew will explore these in depth and give you the information you need to get started building Windows apps that leverage these features today.

Project Centennial, one way to help moving to AppX

To help with the transition to AppX, Microsoft is developing Project Centennial (“Project C”), a tool that uses kernel filter drivers to record an msi installer and convert it to an App-V like package. While Project C is not App-V, it uses the same techniques, and packages created with it will also work with App-V. So by converting your package you not only leverage the Windows Store to address end users but you can also offer system administrators a package which they can easily manage (only if they are using Microsoft’s App-V of course…).

An application packaged with Project C very much looks like any Universal app, it has an AppX manifest, it can have a live tile etc. But it still has all the traditional files (EXE, DLLs etc.), including runtime dependencies, redirected to private folders, and a virtual registry. In order to properly integrate with the rest of the system, Project C needs to detect content like COM registration and make it known to the “real” operating system.

Such virtualized apps will only run in User context, Project C is not intended for system applications. If your application needs to run an NT Service or do other stuff that requires elevated privileges, you would have to get rid of this. If your NT service only runs in the background to check for updates, then you’re lucky, because the Windows Store can automatically update your app. However, unlike real Universal apps, your application will not run in a sand box but with full trust, i.e. it can do anything the user has permission to.

Project C will work for Windows 10, so you still have to provide an msi for customers who are running Windows 7 (there was no mention of Windows 8 in the session so it’s unclear if this will be supported on Windows 8.x) and for corporate customers who are not using App-V. Note that you may need to configure the two packages differently, like including your update-checker only in the msi but not in the AppX package.

Watch the recording (hint: use the gear icon to manually switch video quality to high):

Project Centennial”: Converting your Classic Windows App (Win32, .Net, COM) to a Universal Windows App for Distribution in the Windows Store

Enabling existing Classic Windows applications (Win32, .NET, COM) to be part of the Store ecosystem is a key part of Windows 10. This session will cover in detail the technologies that will enable you to convert your app to a Windows APPX package, enabling it to be distributed by the Store and to take advantage of the Universal Windows Platform.

So what should you do?

My recommendations:

  • Keep calm – Windows 10 isn’t available yet, MSI is going to be around for some while, and setup tool vendors might offer ways to create MSI and AppX packages from the same project, helping you to support both worlds (actually, some already can create MSI and App-V packages).
  • Stay informed on this topic, and also talk to the app developers about their plans regarding moving to the Universal Windows Platform, as the app itself can also benefit from the new features. I think it makes sense to synchronize your timeline.
  • Talk to the sales folks to see if and when they plan to bring your product to the Windows Store.

Posted in Industry News | 5 Comments »

5 Responses to “The Future of Windows Installer (MSI) in the Light of Windows 10 and the Universal Windows Platform”

  1.   Christopher Painter Says:

    Keep calm and chive on.

  2.   Christopher Painter Says:

    Actually, I’m very confused by this article. Is there some relationship between AppV and AppX that I’m not aware of? I’ve used both and never though of the two as interchangeable.

  3.   installsite Says:

    Hi Chris, sorry for any confusion. In my understanding, AppX is the format for Windows Store apps. Until recently, these had to be “metro” apps which essentially exist in a container by design. Project C uses App-V technology to package tradtional applications in a container and adds meta data in AppX format to it, so they can also be installed and cleanly removed by the Windows Store.

  4.   Fabio Di Lorenzo Says:

    App-V 5.0 (AppV Fileformat) uses the AppX Format (lets say “inside File Structure”?!) as container.

    You can even use the SDK Tool MakeAppX.exe to Pack & Unpack AppV Files.


  5.   Christopher Painter Says:

    InstallShield Premium has functionality to build MSI and AppV. How does Project C compare to this? Will it be enough to use a tool such as InstallShield Professionall or WiX to build an MSI and then run it through Project C?