In this series of blogposts I want to describe the different ways of using App-V with Azure RemoteApp. Azure RemoteApp is a cloud service delivered through Microsoft Azure. With Azure RemoteApp you can publish native Windows applications to your ‘Universal Workplace’. Azure RemoteApp has clients for almost all Windows operating systems and also for iOS, Mac OS X and Android. With this broad support of clients Azure RemoteApp provides the flexibility to publish native Windows Applications to almost all platforms. Azure RemoteApp is the cloud implementation of the on-premise RDS RemoteApp technology. Application Virtualization is used in most of the Desktop Virtualization environments, as there is limited information available on the support of App-V in combination with Azure RemoteApp I want to share this information in the following series of blogposts:
- Part 1: Azure RemoteApp with standalone implementation of App-V
- Part 2: Azure RemoteApp with full infrastructure implementation of App-V
- Part 3: Azure RemoteApp with ConfigMgr 2012 R2 SP1 implementation of App-V
In these series I want to describe the steps which I have taken to enable App-V in Azure RemoteApp en want to discuss the advantages en disadvantages of the implementation. This part will continue with describing the standalone implementation of App-V.
In a Standalone implementation of App-V no additional server infrastructure is needed, so App-V applications are deployed locally and started locally from the Azure RemoteApp instance. The App-V applications need to be added to the Custom Image, this can be done by using the App-V client PowerShell cmdlets. When added to the image you need to publish the applications globally so that these application can be published through Azure RemoteApp. A standalone implementation of App-V can be used in a Cloud and Hybrid deployment. Due to license requirements it would not be supported when used in a non-domain environment. If this is the case then it cannot be used in a Cloud deployment in production environments. Technically there is no issue using it in a workgroup based Cloud deployment. The following table summarizes the advantages and disadvantages:
Advantages | Disadvantages |
No Additional App-V Infrastructure is needed | Add/Remove/Update of App-V applications can only be done by updating the Custom Image |
Easy and fast to implement | The Azure RemoteApp instance has a limited disk space, because all App-V applications need to be cached locally this could potentially lead to disk space problems. |
Can technically be used inside Cloud and Hybrid deployments | |
Because applications are locally cached they will have the best-possible performance |
The following steps are needed to create a Custom image with the locally cached App-V applications which can be used in a Cloud or Hybrid Azure RemoteApp Deployment:
- Install Windows Server 2012 R2
- (Optional) Install .Net 3.5 Framework
- (Optional) Create a Local Administrator user (for troubleshooting when deployed)
- Install Desktop Experience including all dependencies
- Install the RDS Session-Host Role
- Install Windows Updates
- Install App-V 5.0 SP3 Client for RDS Session Host servers
- Install App-V applications through following PowerShell commands:
Add-AppvClientPackage C:\AppV_Apps\FileZilla_3_10_3\FileZilla_3_10_3.appv | Publish-AppvClientPackage -Global Add-AppvClientPackage C:\AppV_Apps\Notepad++\Notepad++.appv | Publish-AppvClientPackage -Global Add-AppvClientPackage 'C:\AppV_Apps\VLC_MediaPlayer_2_2_1\VLC Media Player.appv' | Publish-AppvClientPackage –Global
- Test all App-V applications
- (Optional) Install Office 365 ProPlus through the Office Deployment Tool with the following configuration.xml file:
<Configuration> <Add OfficeClientEdition="64"> <Product ID="O365ProPlusRetail" > <Language ID="en-us" /> </Product> </Add> <Display Level="None" AcceptEULA="TRUE" /> <Property Name="SharedComputerLicensing" Value="1" /> </Configuration>
- Disable the Encrypting File System (EFS). Run the following command command window:
Fsutil behavior set disableencryption 1
- Reboot the Server
- Stop the App-V Client
- Delete the following folder:
%LOCALAPPDATA%\Microsoft\AppV\Client\VFS
- Execute the following commandline to sysprep the Image:
C:\Windows\System32\sysprep\sysprep.exe /generalize /oobe /shutdown
The next step is to upload the image to Azure RemoteApp. This can be done through the Azure Management Portal. It’s important to upload the image to the same region as where the RemoteApp environment will be deployed.
Another option is to create a Virtual Machine on Azure and use this for creating a template image. In the Gallery you can select the ‘Windows Server Remote Desktop Session Host’ Image and use this as your starting point. When this image is used you can ignore step 1 till 5 in the above plan.
When deployed you can publish applications through the Azure Management Portal. When a user logs on to Azure RemoteApp the applications should be visible and can be launched:
Azure RemoteApp Client (with published applications):
Notepad++ App-V Application:
After some testing I got this App-V error in a cloud based deployment after a logoff/logon of a user:
The Application Failed to launch. This may be due to a network failure.
Error Code: 0x4FC09004-0000002C
My current workaround is to delete the following folder in the user profile of the user:
%LOCALAPPDATA%\Microsoft\AppV\Client\VFS
This action need to be executed after a logoff/logon of each user.
I tested the same image in a Hybrid collection and within this Hybrid connection I didn’t see this error.
Part 2: Azure RemoteApp with the App-V Full Infrastructure can be found here.
There is an App-V Client hotfix to solve the local profile issue mentioned at the end of the article.
Tim
I’ve installed App-V 5.0 SP3 Hotfix 2 and updated the deployment. I’m still getting the same error.
Arjan
Thanks for sharing this – just the info I was looking for