MSIX

In this article we will discuss about MSIX. here we can describe key features of it, MSIX container, and how to build and uninstall this features.

What is MSIX?

MSIX provides a modern packaging experience to Windows apps that is a package and this package format preserves the functionality of existing app packages and/or enables new, modern packaging and deployment features in Win32, WPF, and Windows Forms apps In addition to installing files, MSIX allows IT professionals and developers to deliver a user-centric solution, it enables enterprises to stay current and ensure that their applications are always up to date.

key features:

Some key features are here:

  • MSIX proves its reliability by being installed on millions of installations.
  • MSIX minimizes the impact on network bandwidth by downloading only 64k blocks.
  • This is done by taking advantage of the AppxBlockMap.xml file contained in the MSIX app package which makes it a network bandwidth optimization.
  • With MSIX there is no duplication of files across apps and Windows manages the files shared across apps.
  • That optimizes disk space provides.

MSIX Container:

MSIX container supports from desktop bridge and UWP apps and brings both together, the image below is of msxi container:

msxi-container

As expected, classic Win32 applications packaged as MSIX are still running only on desktop devices. Therefore, these apps do not become “universal” simply because they are now being packaged in a new format. All of these converted apps are still x86 and x64bit apps, and they cannot run on tablets/phones or other devices with one exception: Always-Connected-PC devices. Win32 apps run on ARM devices with emulation support in the OS and specific ARM CPUs.

Like full UWP apps, Win32 converted apps (packaged as MSIX) can access the UWP API. However, you will only have access to the desktop API from a Win32 app and will not have the option of accessing the various APIs (Mobile, Xbox, HoloLens, etc…) as you would with full UWP apps.

How to build MSIX packages from any installer?

We can create MSIX packages from any desktop installer such as MSI, EXE, ClickOnce, or App-V. From the desktop installer, you use the MSIX packaging tool to create MSIX application packages as described below:

  • msi
  • exe
  • click once
  • app-v
  • script
  • manual installation


All of these are converted to MSIX.


First make sure you can convert your installer.
It also recommends following best practices for configuring MSIX packaging tools for your environment and conversions.
When the tool is first launched, you will be asked to provide consent to send telemetry data. It is important to note that the diagnostic data you share comes only from the app and is never used to identify you or contact you.

Creating an application package is the most commonly used option. This is where you can create an MSIX package from an installer or by manual installation of the application payload.

MSIX Uninstall:

MSIX packages are containerized packages, which provide a robust install and uninstall process. This package uninstall removes all application artifacts, including all files written to %ProgramFiles%WindowsApps as well as any system files in the AppData folder or registry settings made for the application. Uninstall does not remove any user created files.

To access the Packaging and Deployment event log, follow these steps:

  • Click Start on the Windows menu, type Event Viewer, and press Enter.
  • Run eventvwr.msc.
  • In the left page, expand Event Viewer (Local) > Applications and Services Logs > Microsoft > Windows.

Check the logs available under all these categories:

AppxPackagingOM > Microsoft-Windows-AppxPackaging/Operational
AppXDeployment-Server > Microsoft-Windows-AppXDeploymentServer/Operational
Start by looking at the logs under AppXDeployment-Server. If the error was caused by 0x80073CF0 or ERROR_INSTALL_OPEN_PACKAGE_FAILED, additional details may be present in the AppxpackagingOM log.

PowerShell using the Get-AppxLog command to logged. some example displays below:

powershell
Get-Appxlog

Get-Appxlog | outside gridview