App Attach
App Attach
Here are the steps outlined for utilizing the features in Azure Virtual
Desktop that allow dynamic attachment of applications:
1. Introduction:
Azure Virtual Desktop provides two features for dynamically attaching
applications to user sessions: MSIX app attach and app attach
(preview).
2. MSIX App Attach:
MSIX app attach is generally available.
It facilitates the dynamic attachment of applications to user sessions.
3. App Attach (Preview):
App attach is now available in preview.
The preview version enhances both administrative and user
experiences.
4. Benefits of Both Features:
Applications are not locally installed on session hosts or images.
This simplifies the creation of custom images for session hosts.
5. Operational Efficiency:
This approach reduces operational overhead and costs for the
organization.
6. Containerized Applications:
Applications run within containers.
Containers separate user data, the operating system, and other
applications.
7. Enhanced Security:
The use of containers increases security by isolating applications from
each other.
8. Improved Troubleshooting:
Containerization makes applications easier to troubleshoot.
9. Overall Benefits:
Both MSIX app attach and app attach (preview) contribute to a more
streamlined and efficient application management process in Azure
Virtual Desktop.
These advantages showcase how App Attach offers more fine-grained control,
flexibility, compatibility, and ease of management compared to MSIX, making it a
preferred choice in certain scenarios.
There are various application package types and associated file formats that you can
utilize, each with specific feature availability:
To ensure users receive the correct applications during sign-in, the following criteria
must be satisfied within the host pool environment:
If all these criteria are met, the user gains access to the assigned application. This
structured process allows administrators to control which users can access an
application on particular host pools, enabling diverse application combinations for
users within the same host pool or even those signed in to the same multi-session
session host. Users failing to meet these requirements will not have access to the
designated application.
To integrate your application packages with Azure Virtual Desktop, the initial step
involves creating an MSIX image from your existing application packages utilizing the
MSIXMGR tool. Following this, it is essential to store each disk image on a file share
that is accessible by your session hosts. For detailed information on the specifications
for a file share, please refer to the Azure Virtual Desktop documentation on File
Share.
Supported Links:
In Azure Virtual Desktop, you have the option to use different types of disk images,
including Composite Image File System (CimFS), VHDX, or VHD. However, it is not
recommended to use VHD due to performance considerations. Mounting and
unmounting CimFS images are more efficient compared to VHD and VHDX files, with
lower consumption of CPU and memory resources. Specifically, the use of CimFS is
recommended for application images when your session hosts are running Windows
11.
A CimFS image is composed of several files, including one with the .cim file extension
containing metadata. Additionally, there are at least two other files, one starting with
objectid_ and the other starting with region_, which store the actual application data.
Notably, files accompanying the .cim file do not have a file extension
In App attach, the registration of applications involves mounting disk images from a
file share to a user's session during sign-in, followed by a registration process that
ensures the availability of the applications to the user. There are two registration
types:
1. On-Demand Registration:
Description: On-demand registration involves partially registering
applications at sign-in, with the full registration of an application
deferred until the user initiates the application.
Recommendation: This is the recommended registration type as it does
not impact the sign-in time to Azure Virtual Desktop.
Default Method: On-demand registration is the default registration
method.
2. Log On Blocking Registration:
Description: Each application assigned to a user undergoes full
registration during the user's sign-in process.
Impact on Sign-In Time: Log on blocking registration may affect the
sign-in time to Azure Virtual Desktop as the registration process occurs
during sign-in.
Supported Identity Providers for App Attach:
While App attach is storage-agnostic, we recommend utilizing Azure Files for your
file share. Azure Files offers compatibility with both Microsoft Entra ID and Active
Directory Domain Services. Moreover, it strikes a balance between cost-effectiveness
and management overhead, making it a recommended choice for optimal
performance with App attach.
In the App attach setup, each session host mounts application images from the
designated file share. To ensure smooth operations, it's crucial to configure NTFS and
share permissions, granting read access to the files and file share for each session
host's computer object. The specific permission configurations depend on the
chosen storage and identity providers for your file share and session hosts.
Role-Based Access Control (RBAC): Assign the Reader and Data Access Azure
RBAC roles to the Azure Virtual Desktop and Azure Virtual Desktop ARM
Provider service principals. This allows session hosts to access the storage
account using access keys.
Storage Account Requirement: The storage account must belong to the same
Azure subscription as your session hosts.
Security Note: Exercise caution when assigning RBAC roles to the Azure Virtual
Desktop ARM Provider service principal, as it grants access to all data within
the storage account. It is advisable to limit this storage account to store only
apps for use with App attach and regularly rotate access keys.
Instructions: Refer to the documentation on Assigning RBAC roles to the Azure
Virtual Desktop service principals for detailed steps.
RBAC Role: Assign the Storage File Data SMB Share Reader Azure RBAC role as
the default share-level permission.
NTFS Permissions: Configure NTFS permissions to grant read access to each
session host's computer object.
For additional insights and guidance on using Azure Files with session hosts joined to
Microsoft Entra ID, Active Directory Domain Services, or Microsoft Entra Domain
Services, consult the Overview of Azure Files identity-based authentication options
for SMB access.
1. Regional Alignment:
File Share and Session Hosts: Place your file share in the same Azure
region as your session hosts to optimize performance. If Azure Files is
employed, ensure the storage account is also located in the same Azure
region as your session hosts.
2. Antivirus Scans Exclusion:
Disk Images: Exclude the disk images containing your applications from
antivirus scans. These images are read-only, and excluding them can
enhance performance.
3. Storage and Network Considerations:
Performance Requirements: Ensure that both your storage and network
fabric can deliver the necessary performance for App attach operations.
Avoid FSLogix Profile Containers: To prevent potential conflicts and
performance issues, it is advisable to avoid using the same file share for
FSLogix profile containers.
Prerequisites for Using App Attach in Azure Virtual Desktop:
1. Existing Configuration:
Host pool with session hosts, an application group, and a workspace.
2. Session Host Requirements:
Session hosts must run a supported Windows client operating system.
At least one session host must be powered on (Windows Server is not
supported).
3. Host Pool Configuration:
Host pool needs to be configured as a validation environment.
4. Identity Provider:
Session hosts must be joined to Microsoft Entra ID or an Active
Directory Domain Services (AD DS) domain.
5. File Share:
An SMB file share in the same Azure region as session hosts.
All session hosts in the pool must have read access with their computer
account.
File share is used for storing application images.
6. Azure Files Usage:
If using Azure Files with session hosts joined to Microsoft Entra ID:
Assign Reader and Data Access Azure RBAC roles to Azure
Virtual Desktop and Azure Virtual Desktop ARM Provider service
principals.
Note: Future updates may eliminate the need to assign the
Azure Virtual Desktop ARM Provider service principal.
7. MSIX or Appx Disk Image:
An MSIX or Appx disk image created from an application package and
stored on the file share.
For MSIX images, Desktop Virtualization Contributor Azure RBAC role is
required to add images.
To assign users to the application group,
Microsoft.Authorization/roleAssignments/write permissions on the
application group are needed.
Prerequisites for Using App Attach in Azure Virtual Desktop:
1. Existing Configuration:
Host pool with session hosts, an application group, and a workspace.
2. Session Host Requirements:
Session hosts must run a supported Windows client operating system.
At least one session host must be powered on (Windows Server is not
supported).
3. Host Pool Configuration:
Host pool needs to be configured as a validation environment.
4. Identity Provider:
Session hosts must be joined to Microsoft Entra ID or an Active
Directory Domain Services (AD DS) domain.
5. File Share:
An SMB file share in the same Azure region as session hosts.
All session hosts in the pool must have read access with their computer
account.
File share is used for storing application images.
6. Azure Files Usage:
If using Azure Files with session hosts joined to Microsoft Entra ID:
Assign Reader and Data Access Azure RBAC roles to Azure
Virtual Desktop and Azure Virtual Desktop ARM Provider service
principals.
Note: Future updates may eliminate the need to assign the
Azure Virtual Desktop ARM Provider service principal.
7. MSIX or Appx Disk Image:
An MSIX or Appx disk image created from an application package and
stored on the file share.
For MSIX images, Desktop Virtualization Contributor Azure RBAC role is
required to add images.
To assign users to the application group,
Microsoft.Authorization/roleAssignments/write permissions on the
application group are needed.
Steps to Add an MSIX or Appx Image as an App Attach Package in Azure Portal:
1. Sign In:
Access the Azure portal and sign in.
2. Navigate to Azure Virtual Desktop:
Use the search bar to type "Azure Virtual Desktop" and select the
corresponding service entry to access the Azure Virtual Desktop
overview.
3. Access App Attach:
Within Azure Virtual Desktop, choose the "App attach" option, and then
click on the "+ Create" button.
4. Complete Basics Information:
On the Basics tab, provide the necessary information:
(Additional Information Not Provided in the Text)
Specify the name or identifier for the App attach package.
Set relevant configuration details such as the subscription,
resource group, and Azure region.
(Specific Fields Not Mentioned in the Text)
Image Source: Choose the source of the image (MSIX or
Appx).
Image Name: Specify the name of the MSIX or Appx
image.
File Share Path: Indicate the path to the SMB file share
where the application images are stored.
Validation Environment: Confirm the host pool
configured as a validation environment.
Identity Provider: Verify the session hosts are joined to
Microsoft Entra ID or an Active Directory Domain Services
domain.
Image path:
Choose "Select from storage account" if your image is stored in Azure
Files.
Storage account:
Pick the storage account where your image is located.
File share:
Choose "Select a file," then navigate to the file share and
directory containing your image.
Check the box next to the desired image (e.g., MyApp.cim), then
select "Select."
MSIX package:
Select the MSIX or Appx package from the chosen image.
Image path:
Choose "Input UNC" if your image is specified by a UNC path.
UNC:
Enter the UNC path to your image file.
MSIX package:
Select the MSIX or Appx package from the specified UNC path.
Display name:
Provide a user-friendly name for your application.
Version:
Verify that the displayed version number matches the expected version.
Registration type:
Select the registration type you prefer to use (e.g., On-demand or Log
on blocking).
State:
Choose the initial state for the package.
Health check status on failure:
Select the status for the package if it fails to stage on a session host.
This status is reported for AppAttachHealthCheck for the session host
health check status.
Assigning an App Attach Package:
Method 1