Skip to content

Commit f6e0b87

Browse files
Merge pull request #237965 from dknappettmsft/avd-msix-combine-articles
AVD MSIX combine articles
2 parents a407bd7 + 954ece7 commit f6e0b87

9 files changed

+123
-210
lines changed

.openpublishing.redirection.virtual-desktop.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,16 @@
174174
"source_path_from_root": "/articles/virtual-desktop/environment-setup.md",
175175
"redirect_url": "/azure/virtual-desktop/terminology",
176176
"redirect_document_id": false
177+
},
178+
{
179+
"source_path_from_root": "/articles/virtual-desktop/app-attach-image-prep.md",
180+
"redirect_url": "/azure/virtual-desktop/msix-app-attach-create-msix-image",
181+
"redirect_document_id": true
182+
},
183+
{
184+
"source_path_from_root": "/articles/virtual-desktop/app-attach-msixmgr.md",
185+
"redirect_url": "/azure/virtual-desktop/msix-app-attach-create-msix-image",
186+
"redirect_document_id": false
177187
}
178188
]
179189
}

articles/virtual-desktop/TOC.yml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -202,20 +202,18 @@
202202
href: publish-apps.md
203203
- name: MSIX app attach
204204
items:
205+
- name: Create an MSIX image
206+
href: msix-app-attach-create-msix-image.md
207+
- name: Set up a file share
208+
href: app-attach-file-share.md
209+
- name: Use Azure NetApp Files and MSIX app attach
210+
href: create-netapp-files.md
205211
- name: Set up MSIX app attach with the Azure portal
206212
href: app-attach-azure-portal.md
207213
- name: Set up MSIX app attach with PowerShell
208214
href: app-attach-powershell.md
209215
- name: Test and troubleshoot MSIX packages
210216
href: app-attach.md
211-
- name: Prepare an MSIX image
212-
href: app-attach-image-prep.md
213-
- name: Set up a file share
214-
href: app-attach-file-share.md
215-
- name: Use Azure NetApp Files and MSIX app attach
216-
href: create-netapp-files.md
217-
- name: Set up the MSIXMGR tool
218-
href: app-attach-msixmgr.md
219217
- name: MSIXMGR tool parameters
220218
href: msixmgr-tool-syntax-description.md
221219
- name: Use Microsoft Teams

articles/virtual-desktop/app-attach-azure-portal.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ manager: femila
99
---
1010
# Set up MSIX app attach with the Azure portal
1111

12-
This article will walk you through how to set up MSIX app attach in a Azure Virtual Desktop environment.
12+
MSIX app attach is an application layering solution that allows you to dynamically attach apps from an MSIX package to a user session. The MSIX package system separates apps from the operating system, making it easier to build images for virtual machines. MSIX packages also give you greater control over which apps your users can access in their virtual machines. You can even separate apps from the custom image and make them available them to users later.
13+
14+
This article will walk you through how to set up MSIX app attach in an Azure Virtual Desktop environment.
1315

1416
## Requirements
1517

articles/virtual-desktop/app-attach-file-share.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Requirements can vary widely depending how many MSIX-packaged applications are s
3434

3535
## Storage recommendations
3636

37-
Azure offers multiple storage options that can be used for MISX app attach. We recommend using Azure Files or Azure NetApp Files as those options offer the best value between cost and management overhead. The article [Storage options for FSLogix profile containers in Azure Virtual Desktop](store-fslogix-profile.md) compares the different managed storage solutions Azure offers in the context of Azure Virtual Desktop.
37+
Azure offers multiple storage options that can be used for MSIX app attach. We recommend using Azure Files or Azure NetApp Files as those options offer the best value between cost and management overhead. The article [Storage options for FSLogix profile containers in Azure Virtual Desktop](store-fslogix-profile.md) compares the different managed storage solutions Azure offers in the context of Azure Virtual Desktop.
3838

3939
## Optimize MSIX app attach performance
4040

articles/virtual-desktop/app-attach-image-prep.md

Lines changed: 0 additions & 105 deletions
This file was deleted.

articles/virtual-desktop/app-attach-msixmgr.md

Lines changed: 0 additions & 88 deletions
This file was deleted.
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
---
2+
title: Create an MSIX image for Azure Virtual Desktop - Azure
3+
description: To use MSIX app attach with Azure Virtual Desktop, you need to expand an MSIX-packaged application into an MSIX image. This article shows you how to create an MSIX image.
4+
author: dknappettmsft
5+
ms.topic: how-to
6+
ms.date: 05/12/2023
7+
ms.author: daknappe
8+
---
9+
10+
# Create an MSIX image for Azure Virtual Desktop
11+
12+
To use MSIX app attach with Azure Virtual Desktop, you need to expand an MSIX-packaged application into an MSIX image. This article shows you how to create an MSIX image, which you then need to upload to a file share and publish in Azure Virtual Desktop.
13+
14+
## Prerequisites
15+
16+
Before you can create an MSIX image, you need to meet the following prerequisites:
17+
18+
- Download the [MSIXMGR tool](https://aka.ms/msixmgr) and extract it to a folder.
19+
20+
- Administrative permissions on a Windows 10 or Windows 11 device to create the MSIX image.
21+
22+
- An MSIX-packaged application (`.msix` file) you want to use with Azure Virtual Desktop. To learn how to convert a desktop installer to an MSIX package, see [Create an MSIX package from any desktop installer (MSI, EXE, ClickOnce, or App-V)](/windows/msix/packaging-tool/create-app-package).
23+
24+
> [!NOTE]
25+
> If you're using packages from the Microsoft Store for Business or Education on your network or on devices not connected to the internet, you'll need to download and install package licenses from the Microsoft Store to run the apps. To get the licenses, see [Use packages offline](app-attach.md#use-packages-offline).
26+
27+
## Create an MSIX image
28+
29+
When creating an MSIX image, you convert an MSIX package to a *VHD*, *VHDX*, or *CIM* disk image using the MSIXMGR tool. We recommend using CIM for best performance, particularly with Windows 11, as it consumes less CPU and memory, with improved mounting and unmounting times. We don't recommend using VHD; use VHDX instead.
30+
31+
Select the relevant tab for your scenario.
32+
33+
# [CIM](#tab/cim)
34+
35+
Here are example commands to create an MSIX image as a CIM disk image. You'll need to change the example values for your own.
36+
37+
You should create a new folder for the destination because a CIM disk image is made up of multiple files and this helps differentiate between the images.
38+
39+
> [!IMPORTANT]
40+
> To guarantee compatibility, make sure the CIM files storing your MSIX images are generated on a version of Windows that is lower than or equal to the version of Windows where you are planning to run the MSIX packages. For example, CIM files generated on Windows 11 may not work on Windows 10.
41+
42+
1. Open command prompt as an administrator and change to the directory you extracted the MSIXMGR tool.
43+
44+
1. Create a new folder for the destination.
45+
46+
1. To create the CIM disk image, run the following command:
47+
48+
```cmd
49+
msixmgr.exe -Unpack -packagePath "C:\msix\myapp.msix" -destination "C:\msix\myapp\myapp.cim" -applyACLs -create -fileType cim -rootDirectory apps
50+
```
51+
52+
The output should be as follows:
53+
54+
```Output
55+
Successfully created the CIM file: C:\msix\myapp\myapp.cim
56+
```
57+
58+
# [VHDX](#tab/vhdx)
59+
60+
Here's an example command to create an MSIX image as a VHDX disk image. A single VHDX file is created.
61+
62+
1. Open command prompt as an administrator and change to the directory you extracted the MSIXMGR tool.
63+
64+
1. To create the VHDX disk image, run the following command:
65+
66+
```cmd
67+
msixmgr.exe -Unpack -packagePath "C:\msix\myapp.msix" -destination "C:\msix\myapp.vhdx" -applyACLs -create -fileType vhdx -rootDirectory apps
68+
```
69+
70+
The output should be as follows:
71+
72+
```Output
73+
Successfully created virtual disk
74+
Stopping the Shell Hardware Detection service
75+
Stopping dependent services if necessary.
76+
Successfully initialized and partitioned the disk.
77+
Formatting the disk.
78+
Successfully formatted disk
79+
Starting the Shell Hardware Detection service
80+
Successfully started the Shell Hardware Detection Service
81+
Finished unpacking packages to: C:\msix\myapp.vhdx
82+
```
83+
---
84+
85+
## Next steps
86+
87+
After you've created the MSIX package, you'll still need to do the following tasks:
88+
89+
1. Copy the resulting VHD, VHDX, or CIM file to a share where your session hosts can access it. To learn about the requirements, see [File share requirements for MSIX app attach](app-attach-file-share.md).
90+
91+
1. [Publish MSIX applications in Azure Virtual Desktop](app-attach-azure-portal.md).
92+
93+
Here are some other articles you might find helpful:
94+
95+
- Learn more about the available [MSIXMGR tool parameters](msixmgr-tool-syntax-description.md).
96+
- [MSIX app attach glossary](app-attach-glossary.md)
97+
- [MSIX app attach FAQ](app-attach-faq.yml)

articles/virtual-desktop/msixmgr-tool-syntax-description.md

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -104,23 +104,20 @@ msixmgr.exe -Unpack -packagePath "C:\SomeDirectory\myapp.msix" -destination "C:\
104104

105105
To unpack a package into a VHDX disk image:
106106

107-
> [!NOTE]
108-
> If you're using VHD or VHDX, we recommend the size is four times the size of MSIX package.
109-
110107
```
111-
msixmgr.exe -Unpack -packagePath "C:\SomeDirectory\myapp.msix" -destination "C:\Apps\myapp" -applyACLs -create -vhdSize 200 -filetype VHDX -rootDirectory apps
108+
msixmgr.exe -Unpack -packagePath "C:\SomeDirectory\myapp.msix" -destination "C:\Apps\myapp\myapp.vhdx" -applyACLs -create -filetype VHDX -rootDirectory apps
112109
```
113110

114111
To unpack a package into a CIM disk image:
115112

116113
```
117-
msixmgr.exe -Unpack -packagePath "C:\SomeDirectory\myapp.msix" -destination "C:\Apps\myapp" -applyACLs -create -filetype CIM -rootDirectory apps
114+
msixmgr.exe -Unpack -packagePath "C:\SomeDirectory\myapp.msix" -destination "C:\Apps\myapp\myapp.vhdx" -applyACLs -create -filetype CIM -rootDirectory apps
118115
```
119116

120117
|Optional parameters|Description|Example|
121118
| -------- | -------- | -------- |
122119
|-applyacls|Applies ACLs to the resulting package folder(s) and their parent folder. |`msixmgr.exe -Unpack -packagePath "C:\SomeDirectory\myapp.msix" -destination "C:\Apps\myapp" -applyACLs` |
123-
|-create|Creates a new image with the specified -filetype and unpacks the packages to that image. |`msixmgr.exe -Unpack -packagePath "C:\SomeDirectory\myapp.msix" -destination "C:\Apps\myapp" -applyACLs -create -fileType VHDX -vhdSize 200` |
120+
|-create|Creates a new image with the specified -filetype and unpacks the packages to that image. |`msixmgr.exe -Unpack -packagePath "C:\SomeDirectory\myapp.msix" -destination "C:\Apps\myapp" -applyACLs -create -fileType VHDX` |
124121
|-fileType|The type of file to unpack packages to. Valid file types include `VHD`, `VHDX`, `CIM`. This is a required parameter when unpacking to CIM files. |`msixmgr.exe -Unpack -packagePath "C:\SomeDirectory\myapp.msix" -destination "C:\Apps\myapp" -applyACLs -create -fileType CIM -rootDirectory apps` |
125122
|-rootDirectory|Specifies root directory on image to unpack packages to. Required parameter for unpacking to new and existing CIM files. |`msixmgr.exe -Unpack -packagePath "C:\SomeDirectory\myapp.msix" -destination "C:\Apps\myapp" -applyACLs -create -filetype CIM -rootDirectory apps` |
126123
|-validateSignature|Validates a package's signature file before unpacking package. This parameter will require that the package's certificate is installed on the machine.<br /><br />For more information, see [Certificate Stores](/windows-hardware/drivers/install/certificate-stores).|`msixmgr.exe -Unpack -packagePath "C:\SomeDirectory\myapp.msix" -destination "C:\Apps\Myapp" -validateSignature -applyACLs`|

0 commit comments

Comments
 (0)