Azure RemoteApp: App-V Support Part 1

Standard

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:

  1. Install Windows Server 2012 R2
  2. (Optional) Install .Net 3.5 Framework
  3. (Optional) Create a Local Administrator user (for troubleshooting when deployed)
  4. Install Desktop Experience including all dependencies
  5. Install the RDS Session-Host Role
  6. Install Windows Updates
  7. Install App-V 5.0 SP3 Client for RDS Session Host servers
  8. 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
  9. Test all App-V applications
  10. (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>
  11. Disable the Encrypting File System (EFS). Run the following command command window:
    Fsutil behavior set disableencryption 1
  12. Reboot the Server
  13. Stop the App-V Client
  14. Delete the following folder:
    %LOCALAPPDATA%\Microsoft\AppV\Client\VFS
  15. 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:

Notepadplusplus

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

error_appv_cloudMy 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.

6 thoughts on “Azure RemoteApp: App-V Support Part 1

    • Arjan Vroege

      I’ve installed App-V 5.0 SP3 Hotfix 2 and updated the deployment. I’m still getting the same error.

      Arjan

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.