Introduction
As you may have already read or seen the many announcements recently about MSIX app attach for Windows Virtual Desktop. I thought it would be useful to explore the wider offering and why MSIX app attach simplifies application delivery and, furthermore, the use outside of WVD.
MSIX app attach is Microsoft’s Dynamic Application delivery capability that uses an existing MSIX package. MSIX has been around since 2018. Microsoft has provided the vehicle for an MSIX package to be added and removed from an operating system (attach/detecting) without any impact or interference with the underlining operating system it’s self.
This article provides a overview on how to implement MSIX app attach on VMware App Volumes 4.2.
*This article only covers the use of MSIX app attach with App Volumes 4.2.
Pre-requisites
To use MSIX app attach, you need to make sure that the client operating system is Windows 10 build 2004 or above. The lab I am using contains three virtual Machines, a Domain Controller, App Volumes Manager server and a Windows 10 Client machine (build 2004).
System requirements
Component | Details |
---|---|
Database | App Volumes Manager requires one of the following versions of the Microsoft SQL database: – SQL Server 2019 – SQL Server 2017 – SQL Server 2016 SP2 – SQL Server 2014 SP1 and SP2 – Support for SQL server 2014 Enterprise SP3 64-bit For High Availability, App Volumes supports the following database features: – SQL Server Clustered Instances – SQL Server Mirroring |
Browser | Use App Volumes Manager on one of the following supported browsers: – Internet Explorer 9 or later – Mozilla Firefox 28 or later – Safari 7 or later – Google Chrome 21 or later |
App Volumes Manager | – Microsoft Windows Server 2019 Datacenter and Standard – Microsoft Windows Server 2016 Datacenter and Standard – 4 vCPU required – 4 GB RAM – 1 GB disk space |
App Volumes Agent (client OS) | – Microsoft Windows 10, version 20H2 Enterprise and Pro – Microsoft Windows 10, version 2004 Enterprise and Pro – Microsoft Windows 10, version 1909 Enterprise and Pro – Microsoft Windows 10, version 1903 Enterprise and Pro – Microsoft Windows 10, version 1809 Enterprise and Pro – Microsoft Windows 10, version 1803 Enterprise – Microsoft Windows 10 Enterprise LTSC 2019 (version 1809) -Microsoft Windows Server 2019 Datacenter and Standard – Microsoft Windows Server 2016 Datacenter and -Standard – 64-bit versions of Microsoft Windows only – 1 GB RAM – 1 vCPU – 16 GB disk space |
Hypervisor (if using VMDK) | VMware ESXi and vCenter Server 6.5 or later (ESXi and vCenter Server must be the same version) |
File share (if using VHD) | SMB version 3 |
Directory | Microsoft Active Directory domain, 2003 functional level or later. Read-only account access. |
Component | Purpose | Port number |
---|---|---|
App Volumes Manager | Agent and Manager communications | TCP 80 (HTTP)TCP 443 (HTTPS) |
App Volumes SQL Database | Database communication | TCP 1433 (SQL) |
App Volumes 4 Components
Component | Description |
---|---|
App Volumes Administrator or User | Active Directory (AD) or organizational unit (OU) account to which Application Packages and Writable Volumes are assigned. User must have local administrator privileges. |
App Volumes Manager | Web-based interface integrated with Active Directory (AD) and vSphere. Consists of services that orchestrate application delivery and interface the vSphere environment. You can use App Volumes Manager for the following tasks:Manage assignments of volumes to users, groups, and target computers.Collect Application Packages and Writable Volumes usage information.Maintain a history of administrative actions.Automate assignment of applications and Writable Volumes for agents during desktop startup and user login.See Install App Volumes Manager and the Configuring App Volumes Manager in the administration guide. |
App Volumes database | A Microsoft SQL or SQL Server Express database that contains configuration information for Application Packages, Writable Volumes, and users. See System Requirements. |
App Volumes agent | Software installed on all Windows desktops where Application Packages and Writable Volumes are assigned. See Install App Volumes Agent. |
Application | An Application represents a collection of packaged versions of that Application. Users, Groups, Computers, or OUs (Organizational Units) can be entitled to receive a current Package or be assigned to a specific Package. |
Package | A Package stores one or more Programs required for an Application to run. A single Package can be delivered to multiple computers and one or many users. |
Writable Volume | Writable Volumes provide storage for application profile settings, documents, and installed applications. The mode of storage is determined by the template that is selected during creation.Note:Users can have more than one Writable Volume assigned to them. For more information about using Writable Volumes, see the VMware App Volumes Administration Guide at VMware Docs. |
Programs | Programs are installed during the packaging process. When an Application is assigned and a Package is delivered to a desktop, the Programs are then visible inside Windows under Programs and Features and available from the Start Menu. |
Packaging Desktop | A clean virtual machine that contains the necessary programs for installation into Application Packages. The desktop must have the App Volumes agent installed and configured to connect to the App Volumes Manager. |
Target Computer | A VDI desktop, physical client computer, Remote Desktop Services (RDS) Host or Citrix XenApp Server where users log in to access their applications delivered from the Package. The target computer must have the App Volumes agent installed and configured to connect to the App Volumes Manager. |
VMware vCenter Server | App Volumes uses vCenter Server to connect to resources within the vSphere environment. See Configuring a Machine Manager section in the App Volumes administration guide. |
Storage Group | You can use Storage Groups to automatically replicate Application Packages or distribute Writable Volumes across many datastores. They are also used to define a group of datastores that should all contain the same Application Packages. Some of the attributes for the group, such as template location and strategy, only apply when using the group for distributing writable volumes. The distribution strategy setting controls how Writable Volumes are distributed across the group.Spread. Distribute files evenly across all the storage locations. When a file is created, the storage with the most available space is selected.Round Robin. Distribute files by sequentially using the storage locations. When a file is created, the storage with the oldest used time is selected.You can manage the capabilities of storage groups by selecting required storage and ignoring unwanted or slow-performing storages while mounting volumes. When you mark a storage as Not Attachable, the App Volumes Manager ignores the storage while mounting volumes.For example, you can set up two vCenter Server instances. Each server can have a local storage and shared storage capability. You can mark the slower-performing storage as Not Attachable. This storage is ignored by the App Volumes Manager while mounting volumes and can be used solely for replication of Application Packages. |
Installing App Volumes 4.2 also known as (2009)
Getting started, on the designated App Volumes Manager server, run the installer and follow the steps.






Configuring App Volumes for the first time
Once the installation has successfully been completed, you can then progress to configuring the App Volumes Manager through the web UI.






Adding a MSIX app attach Package to VMware App Volumes 4.2
To add a package, you will first need to create an MSIX app attach disk and prepare the MSIX. You can find out how to do this in one of my previous articles that you can find here: https://ryanmangansitblog.com/2020/08/20/a-deep-dive-into-msix-app-attach-windows-virtual-desktop/
You can also complete the full process using AppCURE’s studio product, including the preparations for importing into VMware App Volumes.
Find out more about appCURE here: https://www.appcure.io/
You can also prepare the MSIX app to attach packages with VMware’s fling located here: https://flings.vmware.com/app-volumes-packaging-utility The fling does not create the MSIX, or MSIX app attach the disk.
After you have created the package, you can then import the package into VMware App Volumes. The first step is to copy the JSON file and virtual disk to the application file share where the App Volume apps will be stored.
The next step is to import the package; this process is completed by selecting Import on the Inventory > applications web page.


Once the packages have been imported, you see them in the application window as shown here:

within here you can also Assign, Unassign, create Package, Edit and Delete the application(s).

You can assign to an individual or a group. Once assigned, you can click the assignments and see which users and groups have been assigned to the application.

Here is the list of applications I have assigned to my test user:

Testing a Client with the App Volumes Agent installed
The following screenshots show you a client that has the App Volumes v4 agent installed and configured to communicate with the App Volumes Manager. When the test user logons on to the desktop, the packages are attached and ready to be used.



Video showing App Volumes v4 (2009) using MSIX app attach
Here is a short video showing the assignment and attach of MSIX app attach apps with VMware app volumes.
Summary
For all those who though MSIX app attach is just for Windows Virtual Desktop, you will be pleased to know that you can now use App Volumes 4. I found the experience using MSIX app attach with app volumes excellent. It would be interesting to know how this performs on scale. Applications appear on login; logon times are a few seconds. Overall this does look like a solution I would consider for on-premises or cloud deployments outside Windows Virtual Desktop.
Thanks for reading.