MSIX App Attach with App Volumes - Preview

With the introduction of App Volumes 4 version 2006, VMware has introduced a preview of multi-format delivery with MSIX app attach. This provides the option to use the same lifecycle and assignment features that were already present in previous versions of App Volumes 4, but now also with MSIX app attach VHDs. This blog post shows you what is already possible with the App Volumes 4 version 2006 release.

Introduction

Before diving into the App Volumes part, I assume that you are already familiair with MSIX app attach in general, creating MSIX packages and generating VHD packages for MSIX. If that is not the case, you can read about it here:

Requirements

Microsoft’s MSIX app attach is currently in public preview and currently requires Windows 10 v2004.

Preparing the App Volumes Storage

MSIX app attach using App Volumes requires a SMB file share for ‘hosting’ the MSIX VHDs. This requires us to configure the SMB file share in the storage configuration in App Volumes. You do this by logging on to the App Volumes management console and by going to the Configuration section and than going to the Storage sub-tab.

Type the path to an existing SMB file share and click Search.

Click the (+) sign next to the SMB file share.

Click Add to add the SMB file share to the storage configuration.

A confirmation message will be displayed to ask you if you really want to add the SMB file share. Click Add.

If the appvolumes folder structure hasn’t been created yet on the SMB file share (see picture below), you can use the following steps.

Click the Edit button below the SMB file share you added just now.

Select the SMB file share for Default Storage Location for Packages and Writable Volumes (however, not used for MSIX app attach). Click Save.

Select either Import volumes in the background or Import volumes immediately and click Set Defaults.

This will create the appvolumes structure on the SMB file share.

We will be using the appvolumes/packages folder later on.

Preparing the MSIX App Attach VHDs for App Volumes

To be able to import the MSIX app attach VHDs, some metadata needs to be added to those VHDs. VMware has provided the App Volumes Packaging Utility for this. The App Volumes Packaging Utility is a fling. This means that there is no official support from VMware and flings are not guaranteed to become part of any product. However, there is community support to which you can reach out. This is available on the same fling website (sign-up required).

The App Volumes Packaging Utility is a MSI-based install. Simply do a ‘next-next-finish’ install, and Bob’s your uncle. Or in Dutch, ‘Enter-Enter-En je bent er’.

Once installed, open the Command Prompt in Administrator Mode and go to the folder C:\Program Files (x86)\VMware\AppCapture. Here you will find the AppCapture.exe command for adding the metadata. Before we start using this command, it is important to know that (currently) only a single MSIX application per MSIX app attach VHD is supported.

It is also important to know that currently from VHD/VHDX, only the VHD format is supported. Trying to use the VHDX format results in below error.

ERROR: not a vhd or vmdk file
ERROR: unusable source disk path: exiting

However, you can convert an existing VHDX to VHD using the Convert-VHD PowerShell cmdlet.

Convert-VHD -Path .\your.vhdx -DestinationPath .\your.vhd

For the purpose of this demonstration, the following information is used.

Application
Firefox
VHD Folder
C:\AppAttach\vhd
VHD File Name
firefox-76-0-1.vhd
Package Root
firefox-76-0-1\firefox-76-0-1_76.0.1.0_x64__7z7aeh81t799r

Using the above information, the command we need to execute is as follows.

AppCapture.exe /addmeta C:\AppAttach\vhd\firefox-76-0-1.vhd /msix firefox-76-0-1\firefox-76-0-1_76.0.1.0_x64__7z7aeh81t799r

After successfully executing the command, you will see that the metadata has been added to the VHD and also exported to a JSON file. This JSON file is required for adding the MSIX app attach VHD to App Volumes.

If you have previously already added the metadata to the VHD, you will receive the following message.

You can repeat the above steps for every MSIX app attach VHD that you want to have available in App Volumes.

Adding the MSIX App Attach VHD to App Volumes

Now that we have prepared the MSIX app attach VHD for App Volumes, it is time to copy the required files to the SMB file share. This means copying the VHD file and the JSON file to \\<fileserver>\<share>\appvolumes\packages.

We are now going to import the MSIX app attach VHD information in App Volumes by logging on to the App Volumes management console and by going to the Inventory section and than going to the Applications sub-tab.

Select the SMB file share (Storage) and the correct Path where the MSIX app attach VHD(s) reside and click Import.

Select either Perform in the background or Wait for completion and click Import.

The application is now available as any other App Volumes application. This means using assignments, markers, etc., just as you are used to.

Using the MSIX App Attach VHD

Once the MSIX app attach VHD application has been assigned, it is time to logon using Windows 10 v2004 with the App Volumes 2006 Agent.

After logon, the MSIX app attach VHD application (Firefox in this demonstration) is available.

App Volumes 2006 introduced an additional log file for MSIX app attach, MSIXAppAttach.log. This file can be found in C:\Program Files (x86)\Cloud Volumes\Agent\Logs, next to svservice.log, and can be used for troubleshooting.

This file actually helped me solve my first issue I had. My MSIX packages are signed with a certificate. On my App Volumes Agent machine I did not have the appropriate root and intermediate certificates in place. This was clearly described in the MSIXAppAttach.log file.

Staging an MSIX package, C:\SnapVolumesTemp\MountPoints\{5827228D-23A6-4C1C-81A7-ECB5BAC2B23C}\firefox-76-0-1\firefox-76-0-1_76.0.1.0_x64__7z7aeh81t799r

Error code: System.Exception: A certificate chain could not be built to a trusted root authority.

Conclusion

With Microsoft going forward using the MSIX format and app attach possibilities, I think VMware has done a great job offering another option for application delivery. Both AppStacks and MSIX app attach VHDs are supported, side by side.

For large environments it is good to consider both performance and availability. MSIX app attach uses SMB file shares, and (network) access to those files shares must be sized and tuned accordingly. I think it is (almost) the same as with App-V Shared Content Store. However, AppStacks (or VMDKs in that perspective) are stored on datastores and (most of the times) use a dedicated and optimized storage network. Just something to keep in mind.

From a functionality perspective, it is good to see that the same functionality for assignments and marker options is also available. And no need to use (custom) scripting.

I hope this post has been informative and thanks for reading!

Share