# Using MSIX application packages

Parallels RAS 19 provides a new and modern application delivery method - Application Packages, which is based on MSIX app attach technology. MSIX app attach is a Microsoft’s application layering solution that allows you to dynamically attach applications (containerized MSIX packages) to a user session. Separating the application from the operating system makes it easier to get more control by providing the right application for the right user. Additional third party solutions such as appCURE may be used for application moderation with Parallels RAS.

## Prerequisites

* [RD Sessions Hosts](https://docs.parallels.com/landing/ras-admin-guide/parallels-ras-21-administrators-guide/rd-session-hosts), [VMs](https://docs.parallels.com/landing/ras-admin-guide/parallels-ras-21-administrators-guide/virtual-desktop-infrastructure-vdi), or [AVD hosts](https://docs.parallels.com/landing/ras-admin-guide/parallels-ras-21-administrators-guide/getting-started-with-parallels-ras/set-up-a-basic-parallels-ras-farm/azure-virtual-desktop).
* MSIX app attach requires hosts running Windows Server 2025, Windows Server 2022, Windows 11, Windows 10 version 2004 or later.
* A network share where the MSIX images will be stored. Storage requirements and recommendations are highlighted here: <https://docs.microsoft.com/en-us/azure/virtual-desktop/app-attach-file-share>.
* All hosts (computer accounts) must have read permissions on the network share where the MSIX images are stored.

{% hint style="info" %}
**Note:** In Parallels RAS 19, MSIX app attach applications can be deployed and managed directly from the Parallels RAS console only when using Windows Server 2022.
{% endhint %}

### Enabling the Application Packages feature

To start working with MSIX application packages, you need to enable the Application Packages feature.

To enable the Application Packages feature:

1. Navigate to **Farm** > **Site** > **Settings** and select the **Application packages** tab.
2. Select the **Enable Application Packages feature** option.

Next, you need to add the package to Parallels RAS.

### Creating an MSIX image

To create an MSIX package from any desktop installer such as MSI, EXE, ClickOnce, or App-V you can use the MSIX Packaging tool <https://docs.microsoft.com/en-us/windows/msix/packaging-tool/tool-overview>.

To expand MSIX-packaged applications into MSIX images you can use the MSIXMGR tool <https://docs.microsoft.com/en-us/azure/virtual-desktop/app-attach-msixmgr>.

### Adding an MSIX application package to Parallels RAS

To add an MSIX application package to Parallels RAS:

1. Navigate to **Farm** > **Site** > **Application Packages**.
2. Click **Tasks** > **Add** (or click the **\[+]** icon). The **Add from MSIX Image** wizard opens.
3. In the **MSIX Image path** field, specify the path to your image or click the **Browse** button to select it in File Explorer. The file must be located on a network share. You can add packages from VHD, VHDX, and CIM images. All hosts (computer accounts) must have read permissions on the network share where the MSIX images are stored.
4. In the **Package** drop-down list select the package that you want to add.
5. In the **Display Name** field specify the name that will be used for this package in Parallels RAS. After that, the rest of the fields will be populated automatically.
6. Click **Finish**.

Next, you need to add the package to a host. After being added, a packaged application behaves the same way as a regular application as if it was installed on a host.

### Adding a package to a host

To add a package to a host:

1. Make sure that the package is added to Parallels RAS as described above.
2. Go to **Farm** > **Site** > **RD Session Hosts** > **RD Session Hosts**.
3. Double-click the host that you want to install the package to.
4. In the properties dialog, on the **Application Packages** tab, click **Tasks** > **Add** (or click the **\[+]** icon).
5. In the first column to the left, select the packages that you want to install on the host.
6. In the **Version** column, select the version of the package. It is recommended to make use of [version tags](https://download.parallels.com/ras/v19/docs/en_US/Parallels-RAS-19-Administrators-Guide/48334.htm), which can facilitate application version updates. If the selected packages have dependencies, you will see a warning that lists all of them.
7. Click **OK**.

The selected packages will be added to the host.

### Adding a package to VDI pool

To add a package to a VDI pool:

1. Make sure that the package is added to Parallels RAS as described above.
2. Go to **Farm** > **Site** > **VDI** > **Pools**.
3. Double-click the pool that you want to install the package to.
4. In the properties, on the **Application Packages** tab, clear option **Inherit default settings**.
5. Continue from Step 4 as described in the subsection "Adding a package to a host" above.

The selected packages will be added to all VMs in the pool.

### Adding a package to an AVD pool

To add a package to an AVD pool:

1. Make sure that the package is added to Parallels RAS as described above.
2. Go to **Farm** > **Site** > **Azure Virtual Desktop** > **Host pools**.
3. Double-click the pool that you want to install the package to.
4. In the properties, on the **Application Packages** tab, clear option **Inherit default settings**.
5. In the properties, continue from Step 4 as described in the subsection "Adding a package to a host" above.

The selected packages will be added to all hosts in the pool.

### Adding a package to Group Defaults

To add a package to Group Defaults:

1. Make sure that the package is added to Parallels RAS as described above.
2. Go to **Farm** > **Site** > **RD Session Hosts** > **Groups**.
3. Double-click the group or pool that you want to install the package to.
4. In the properties, continue from Step 4 as described in the subsection "Adding a package to a host" above.

### Adding a package to Site Defaults

To add a package to Site Defaults:

1. Make sure that the package is added to Parallels RAS as described above.
2. Open group or pool properties as described above.
3. On the **Application Packages** tab, click **Site Defaults**.
4. In the dialog that opens, continue from Step 4 as described in the subsection "Adding a package to a host" above.

### Working with version tags

You can use version tags to simplify package management. For example, you can assign different tags to packages that are ready for publishing and these that are still in the testing stage. By default, Parallels RAS uses three tags: **Production**, **Pre-production**, and **Custom**. You can rename tags, but you cannot add or delete them.

To rename a tag:

1. Navigate to **Farm** > **Site** > **Settings** and select **Application packages** tab.
2. Select the tag that you want to rename.
3. Click **Tasks** > **Edit**.
4. Change the name of the tag and press Enter.

To use tags, you need to assign them.

To assign tags to a package:

1. Navigate to **Farm** > **Site** > **Application Packages**.
2. Double-click the package.
3. In the **Version tag** section, select the tags that you need. You can assign several tags to one package.

To remove all tags assigned to a package:

1. Navigate to **Farm** > **Site** > **Settings** and select the **Application packages** tab.
2. Select the package.
3. Click **Tasks** > **Remove all tags**.

### Working with certificates

Parallels RAS uses code signing certificates to ensure authenticity and content integrity of MSIX application packages.

The following code signing certificates can be used:

* Self-signed certificates
* CA certificates
* Internal CA certificates

You can provision code signing certificates via GPO or let Parallels RAS install them to hosts automatically. The code signing certificate of a package must be trusted by all hosts that use that package.

Parallels RAS allows you to add certificates to hosts automatically. This option is recommended for self-signed certificates.

To enable automatic certificate provisioning:

1. Navigate to **Farm** > **Site** > **Settings** and select the **Application packages** tab.
2. Select option **Provision package certificates automatically**.

Certificate expiration dates are shown in **Farm** > **Site** > **Application** packages.

### Managing MSIX application packages

You can manage the added packages on the **Farm** > **Site** > **Application Packages** tab.

The following actions are available in the **Task** drop-down list:

* **Add:** Adds a new package.
* **Change version tag:** Assigns tags to a package.
* **Remove all tags**: Removes all tags from the package.
* **Show published resources**: Opens the list of all published applications from the package and the hosts they were published from.
* **Show assigned session hosts**: Opens the list of hosts the selected package is assigned to.
* **Search**: Allows you to search for a package in the list by applying a filter.
* **Delete**: Deletes the package from Parallels RAS.
* **Settings audit**: Opens the Settings Audit dialog where you can view the changes that were done to the packages.
* **Refresh**: Refreshes the package list.
* **Properties**: Shows the properties of the package (see below).

### Package properties

The following settings are available in the **Application package properties** window:

The **General** tab:

* **Enable application package in site**: Select this option to enable the package.
* **Package**: Name of the package.
* **Display Name**: Name used for the package inside Parallels RAS.
* **Version**: Version of the package.
* **Publisher**: Common name of the publisher.
* **MSIX image path**: Path to the MSIX image.
* **Version tag**: Tags assigned to the package. You can change the assigned tags to the package from here.
* **Applications**: List of applications added from the package.
* **Dependencies**: All dependencies of the package.
* The **Certificate** tab:
  * **Key size**: Size of the certificate.
  * **Expiration date**: Certificate expiration date.
  * **Common name**: Common Name specified in the certificate.
  * **View certificate info**: Shows information about the certificate.

### Package statuses

<table data-header-hidden><thead><tr><th width="147">Status color</th><th width="174">Package status</th><th>Description</th></tr></thead><tbody><tr><td>Green</td><td>Ready</td><td>Package is enabled and ready for registration.</td></tr><tr><td>Green</td><td>In use</td><td>Package is being used in a session.</td></tr><tr><td>Orange</td><td>Disabling</td><td>Waiting for deregistration in sessions.</td></tr><tr><td>Red</td><td>Staging failed</td><td>A problem with registration has occurred. You can retry registration as described in <a href="../rd-session-hosts/manage-rd-session-hosts/manage-hosts-rd-session-hosts/view-and-modify-rd-session-host-properties/application-packages"><strong>Application Packages</strong></a>.</td></tr><tr><td>Red</td><td>Not found</td><td>The image file or network location unavailable. The admin can retry staging.</td></tr><tr><td>Red</td><td>Certificate missing</td><td>Package certificate is missing on the host.</td></tr><tr><td>Red</td><td>No version found</td><td>There is no application package marked with the tag selected in the host configuration.</td></tr><tr><td>Not applied</td><td>Not applied</td><td>Settings were changed but not applied</td></tr></tbody></table>

<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.parallels.com/landing/ras-admin-guide/parallels-ras-21-administrators-guide/common-management-tasks/using-msix-application-packages.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
