Forum Discussion
MSIX app attach Azure portal integration public preview
MSIX app attach is an application layering solution that allows you to dynamically attach an application (that is an MSIX package) to a user session. Separating the application from the operating system makes it easier to create a golden virtual machine image, and you get more control with providing the right application for the right user.
Previously, you had to use PowerShell scripts to enable MSIX app attach. MSIX app attach capability is now available in public preview in the Azure portal and is integrated with Azure Resource Manager. This eliminates the need for custom scripts and makes it possible to publish your packaged applications to application groups with a few clicks.
Draft troubleshooting guide for MSIX app attach is available here.
Overview and requirements
Before you get started, make sure to fill out and submit this form to enable MSIX app attach in your subscription. If you don't have an approved request, MSIX app attach won't work. Approval of requests can take up to 24 hours during business days. You'll get an email when your request has been accepted and completed.
The following are the requirements to setup MSIX app attach in a Windows Virtual Desktop environment:
- Host pool in Windows Virtual Desktop with at least one active session host
- Host pool in the validation environment
- MSIX packaged application expanded into an MSIX image
- MSIX image is uploaded to file share
- The file share is accessible for all session hosts in the host pool
- When using a digital certificate that is not sourced from a CA please follow instructions here on each VM in the host pool
This video walks through the MSIX app attach UI.
Deploy WVD (Windows Virtual Desktop) host pool
The steps for deploying a WVD host pool are outlined here. It is mandatory to provision the session host pool in the validation environment.
MSIX application
MSIX app attach requires an application packaged as MSIX. If you do not have an MSIX application you can use the MSIX Packaging tool to repackage a Win32 application to MISX application. Instructions are available here.
Prepare MSIX image
MSIX app attach needs MSIX application to be stored in a VHD(x). Steps on how to perform the expansion are available here.
If you do not have access to an MSIX application and MSIX images feel free to use these. They are provided without any guarantees and should not be used in production environments:
Application name |
URL |
Chrome as MSIX image |
|
Chrome in an MSIX package |
|
Microsoft Edge Dev v89 as MSIX image |
|
Microsoft Edge Dev v89 as MSIX package |
|
Microsoft Edge Dev v87 as MSIX image |
|
Microsoft Edge Dev v87 as MSIX image |
|
PowerBI as MSIX image |
https://1drv.ms/u/s!Amut9BnVnw7mkOVkUdswoKXTk9dfUw?e=fGTHy5
Note: this has dependencies that need to be delivered in the master image Links available here https://1drv.ms/u/s!Amut9BnVnw7mkOQth1hkT-SRdP2__g?e=YHbice |
PowerBI as MSIX package |
|
WVDMigration as MSIX image (test different cert type) |
https://1drv.ms/u/s!Amut9BnVnw7mkOIEPLX6PYOzx96nrg?e=9qEpJc
|
WVDMigrationBAD as MSIX image (bad packaging format) |
|
Microsoft Edge Dev v87 as MSIX image (expired cert) |
https://1drv.ms/u/s!Amut9BnVnw7mkOJamDr-mrs3rOoeCg?e=43JT7E
|
Notepad++ as MSIX image (missing cert test) |
https://1drv.ms/u/s!Amut9BnVnw7mkOF-o-E-bhp_btLgJw?e=6DO9ea
|
If you are using your own application, you will need to install the certificate used to sign the MSIX package.
Install certificates
If you are using the provided MSIX applications, there are two certs:
- For Chome, Edge, and Power Bi: WVDContosoAppAttach.
- For WVDMigration*, WVDMigrationFabrikam
Configure a file share
All session hosts need access to the file share with MSIX app attach packages. This Tech Community blog covers the process.
Configure MSIX app attach via Azure portal
Open a browser, preferably in incognito mode, and load the following link: https://preview.portal.azure.com/?feature.msixapplications=true#home
In the search bar type Windows Virtual Desktop and click on the service.
Select a host pool where MSIX applications are to be delivered.
Select MSIX packages.
This will open the data grid with all MSIX packages currently added to the host pool.
Click + Add. This will open the Add MSIX package blade.
MSIX image path – this is UNC path pointing to the MSIX image on the file share. For example, \\storageaccount.file.core.windows.net\msixshare\appfolder\MSIXimage.vhd.
MSIX package – if a valid, resolvable, and accessible path is provided this drop-down will be populated by all the MSIX packages in the MSIX image.
Package applications – list of MSIX applications available in an MSIX package.
Display name – Optional display name to be presented in the interface.
Version – MSIX package version automatically delivered from parsing the package.
Registration type
On-demand – this is the recommended type of registration. It postpones the full registration of the MSIX application until and the user starts the application.
Log on blocking – this type of registration is executing during session logon hence adding time to session logon completion.
State – MSIX package has two states (Active and Inactive). When a package is active users can interact with it. Inactive packages are ignored by WVD and not delivered to users.
Click Save.
Publish MSIX application to an application group
In the WVD resource provider navigate to the Application groups blade.
Select an application group.
Note: During MSIX app attach preview MSIX app attach remote apps may disappear from the user feed. The remote MSIX apps can disappear from the user feed because host pools in the evaluation environment may get served by an RD Broker in a production environment (this happens when the RD broker optimizes to improve the end-user experience). Because the RD Broker in the production environment doesn't understand the date of the MSIX app attach remote apps, it won't display them.
Select the Applications blade. The Applications grid will display all currently added applications.
Click + Add to open the Add application blade.
Application source
- For desktop app groups the only source for applications is an MSIX package.
- For remote app group, there are three sources of applications.
- Start menu
- App path
- MSIX package
MSIX package – display list of packages added to the host pool.
Display name – Optional display name to be presented in the Applications interface.
Description – Short description.
Note the options below are only applicable to remote application groups.
- Icon path
- Icon index
- Show in web feed
Click Save.
Assign users to app group
Select app group.
Select Assignments
To assign individual users or user groups to the app group, select +Add Azure AD users or user groups.
Select the users you want to have access to the apps. You can select single or multiple users and user groups.
Select Save.
It will take five minutes before the user can access the application.
Change MSIX package state
Via the Applications grid
Select MSIX packages.
This will open the data grid with all MSIX packages currently added to the host pool.
Select one or multiple that need to have their state change and click the Change state button.
Via update package
Select MSIX packages.
This will open the data grid with all MSIX packages currently added to the host pool.
Click on Package name in the MSIX packages grid this will open the blade to update the package.
Toggle the State via the Inactive/Active button as desired and click Save.
Change MSIX package registration type
Select MSIX packages.
This will open the data grid with all MSIX packages currently added to the host pool.
Click on Package name in the MSIX packages grid this will open the blade to update the package.
Toggle the Registration type via the On-demand/Log on blocking button as desired and click Save.
Remove MSIX package
Select MSIX packages.
This will open the data grid with all MSIX packages currently added to the host pool.
Select one or multiple that need to be removed click the Remove button.
Removing MSIX application
Navigate to the host pool and select Application groups.
Select the application group from which the MSIX application is to be removed.
From the application group blade select Applications.
Select the desired application and click Remove.
240 Replies
- sidlala123Copper Contributor
I am still suffering from the error "This functionality is not supported. It will be included in a future release."
Subscription ID: 16ace453-d511-42d9-bac0-ee6b8658678e
Stefan has approved that twice, but it is still not working~ I checked this daily~
Can someone help check that
Thanks
- Stefan GeorgievIron ContributorChecked again sub is white listed and you should not be getting the error message you are seeing unless your host pool is not in evaluation environment but is in production
- ejbakkerCopper Contributor
Stefan Georgiev Don't know what is changed, but for me it is working right now. Have to say, i have the VHD on my Domain controller C: share, but it's loaded in the MSIX preview. I am going to test it also from the Azure Files shares.
- Jantu123Brass Contributor
ejbakker and StephanK, Stefan Georgiev contacted me yesterday and informed that they did some magic on their side and fixed the bug and it should start working Today.
I can also confirm on my side that it is now fixed.
- MicheleVigilanteCopper ContributorHi all, it's working also for me!
I think that MS released functionality too early.
- AndreasRBrass Contributor
Stefan Georgiev Thanks for bringing out this feature and the documentation. Unfortunately I still have the problem, that I get the following error:
ActivityId: ec00d57a-8990-4248-89e0-de83fa9c6dba Error: This functionality is not supported. It will be included in a future release. Go to: https://go.microsoft.com/fwlink/?linkid=2146741
I am using the site https://preview.portal.azure.com/?feature.msixapplications=true and have applied to the whitelist. This error appears after I have selected the VHD(x), choosed information like the state, display name, etc.
Does someone has a clue what I am doing wrong?
Thanks in advance and best regards
UPDATE 06.01.21: Now it is working for me! Thanks for whatever has been done 🙂
- ejbakkerCopper Contributor
Stefan Georgiev Hi Stefan, Apps doesnt show up on the rdweb page or on the sessionhost itself. Do you know how to fix this issue?
- MicheleVigilanteCopper Contributor
Hi Stefan Georgiev, I have sent a PM with my subscription data to be sure if my subscription is correctly whitelisted.
Thanks in advance
- elliottchandlerBrass Contributor
I have created a MSIX image for Firefox and this is added to the portal fine. However it does not get mounted on the session host. I have downloaded one of the Images from this page and this also does not get mounted. I have checked permissions and all looks good. Just no App Attach!
- MicheleVigilanteCopper ContributorSame problem here. Instead, via Powershell script staging and registering phase complete correctly.
I Also checked for Remote Desktop control Plane programs and are updated in my session host.
I'm using the right portal link and I have a validation environment.
In logs I see VHD mounting and After a while the dismounting.
My doubt Is about the correct whitelisting of my Subscription or something wrong behind the scenes.
- mjzoutCopper Contributor
I have 2 questions;
Is it correct that MSIX app attach doesn't work (at this moment) when the session hosts are Azure ADDS joined instead of traditional ADDS?
Yesterday I've registred for the preview and could see the new MSIX app attach in the WVD portal, but during the day it suddenly disappeared from the portal. I've just filled out the form again, hopefully the option will return then.
- Jantu123Brass Contributor
Noticed following error. I am using the sample Google Chrome MSIX app. Do we need to specify Icon path?Log Name: RemoteDesktopServices
Source: Microsoft.RDInfra.Messaging.MessagingDispatcherMiddleware
MessagingDispatcherMiddleware Exception=Microsoft.RDInfra.Shared.Common.RestError.RestException: Value cannot be null.Parameter name: iconPath ---> Microsoft.RDInfra.Shared.Common.RestError.InnerRestException: Value cannot be null.
Parameter name: iconPath
Mounted Image is unmounted after few secondsI can see from the logs that chrome is succesfully mounted.
MountDisk: Image ≤\\ket-dc-vm1\shares\msixapps\GoogleChrome_68.46.66.0_x64__74vyvr5aw93s6.vhdx≥ mounted. Volume path is \\?\Volume{8059ccf8-39ba-11eb-baa2-000d3a97f6e9}
But in few seconds I see that image is dismounted.RefDispose: Image ≤\\ket-dc-vm1\shares\msixapps\GoogleChrome_68.46.66.0_x64__74vyvr5aw93s6.vhdx≥ has refcount 0, performing dismount, volumepath \\?\Volume{8059ccf8-39ba-11eb-baa2-000d3a97f6e9}
- Stefan GeorgievIron ContributorNegative on the icon path. Does the mounting and quick dismounting happens while you are adding the MSIX package from the MSIX image (vhd) to the host pool aka during publishing. If yes that is expected. VHD will become "permanently" mounted, and package staged only after it has been published and set to active.
- biginquebec130Copper Contributor
hello Jantu123 Stefan Georgiev
exactly the same behavior : vhd is dismounted just a few seconds after having been mounted.
RefDispose: Image ≤\\vm-subvs2\msix\bignotepadplusplus.vhd≥ has refcount 0, performing dismount, volumepath \\?\Volume{8e3d4485-b134-4bbf-a8ab-3649f240588d}
wait for explanations.
regards
- Jantu123Brass Contributor
biginquebec130, thanks for confirming that you are having the same issue where successfully staged/mounted apps are dismounted after few seconds. So there are at least three of us with same issue. Mika_Seitsonen_S also earlier confirmed that he had same symptoms.
Unfortunately I have run out of spending limit in my test Azure Subscription so I have to wait for few days before I can continue testing...
- Mika_Seitsonen_SCopper Contributor
Jantu123 thanks for your updates! I've struggled with this also and I'm still not successful and I seem to be hitting same kind of issues that you've come across although I have Windows Server AD environment. My long posting here few days disappeared for some reason. Here is current update.
I noticed yesterday that on Preview portal, H2 Gallery images are also available. I wonder how long they've been there? After adding H2 Session Host to my existing pool, WVD agent version older but now overnight it's been updated to 1.0.2743.1300. Is there a way we can we update it manually? I also keep on seeing icon related errors even though I'm using sample VHDX/VHD from local share on Session Host. This morning I've started playing around creating MSIX packages for existing installation but learned that at least for our own package, it wasn't straight forward operation. Actually process went fine but trying to use app attach ended with some different errors related to resources.pri file missing. I've asked our developer to create MSIX directly from source code.
- Jantu123Brass Contributor
Thanks for confirming that we are seeing the same type of issue. I also tested with my own msix Image and the results were unfortunately still the same. No remoteapp Icons visible, and after succesful staging and mounting, image is dismounted with refcount 0 message. So I expect that you will notice that issue is not related to sample msix app.
I have seen published msix remoteapp icons appearing for a short while (actually all 4-5 published Remote apps appeared at the same on last friday for two test user account) and even managed to launch app succesfully once but then in few minutes icons disappeared in Remote Desktop client when I refreshed again the feed leaving only My test Start menu published Remote app icons. Because I did not do any changes when this happened the issue should be on wvd management plane.
I have decided to give up and wait for Microsoft to figure out & hopefully fix whatever is broken.
Happy christmas to you Mika, We are from the same country and I have participated on your training classes in the past.
- ejbakkerCopper Contributor
Stefan Georgiev When i try to Add a MSIX package i get this error: This functionality is not supported. It will be included in a future release. Is there a way to just try it?
- Stefan GeorgievIron ContributorHave your subscription been submitted for whitelisting via https://aka.ms/enablemsixappattach?
- EddyCCCopper Contributor
Maybe some assistance from me (got it working). Please check following:
- Try to deploy a "local" share through a server
- Enable validation hostpool
- Install the Certificate on all VMs in the hostpool you want to deploy the App (Cert -> Trusted People)
- Install the Hyper-V role / Hyper-V powershell ( Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All) on all VMs in the hostpool
- Add the package in the hostpool (pay attention: only the UNC path is accepeted: \\fileserver\Example\ExampleApp.vhd)
- Wait about 2-3 minutes before connecting to the host. It takes some time till the settings are published to the hosts in the hostpool and the app is visible
- Stefan GeorgievIron Contributoron the last bullet point it takes up to 5 min. our checking interval for changes is 5 min right now. during the preview we are evaluating if we need to make it shorter.
- schmidtp_duna-drava_huCopper Contributor
Thanks for the effort!
- Try to deploy a "local" share through a server
--> I stayed with NetApp Files. The share is readable for everyone, so no permission problems can persist, and I have the profile in the same place, so the share is proven to be working.
- Enable validation hostpool
--> I do only have validation host pools.
- Install the Certificate on all VMs in the hostpool you want to deploy the App (Cert -> Trusted People)
--> Done from the first moment.
- Install the Hyper-V role / Hyper-V powershell ( Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All) on all VMs in the hostpool
--> That was missing, thanks for the hint! However, nothing changed when I switched the Hyper-V features on, even not after a few minutes and a few reboots. I tried also switch Inactive/Active the added MSIX applications, hoping it helps to "trigger" the mount of VHDs, but nothing.
- Add the package in the hostpool (pay attention: only the UNC path is accepeted: \\fileserver\Example\ExampleApp.vhd)
--> That is OK, there is no other way to succeed, the portal is checking thorougly the package before adding.
- Wait about 2-3 minutes before connecting to the host. It takes some time till the settings are published to the hosts in the hostpool and the app is visible.
--> Yeah, I did, as mentioned, also rebooted the VM a few times.
I do really appreciate your helpfulness, despite of the result.- TomHickling
Microsoft
Hyper-v is only required to get the new-vhd command and hyper-v service required to create new vhd(x) that are part of the expansion process of getting the msix expanded to a vhd file. This is not a requirement for the mounting to a session host. What version of the WVD agent is installed?
- schmidtp_duna-drava_huCopper Contributor
Went through the process, as described. Added certificated, added MSIX package, created application group, added MSIX application, assigned user, all executed properly on Azure portal.
But in the end the user does not see the application anywhere.
No new disk mounted, no application icon on desktop, no Start menu entry.
Repeated the process again with different package, added application directly to Desktop application group, rebooted the VM multiple times, changed application's registration type, switch to inactive, back to active, in vain. No idea how the assigned user should see and use the application.
- Stefan GeorgievIron ContributorFor remote app the apps will appear in their feed for remote desktop in the start menu (or wherever the app has been configured to)
IF the package does not mount/stage nothing after that will work. For mounting/staging to fail there are few options 1) no permission, 2) bad vhd, 3) wrong version of agent and bootloader, 4)package is not active- schmidtp_duna-drava_huCopper Contributor
Checked everything you listed again:
1) read permission for Everyone
2) I used different VHDs, even the Chrome downloadable from the article
3) Agent version has been confirmed to be updated
4) Package active. I did even try to switch it inactive and active again, did not help.