In the first post of this blog series I explained how App-V standalone can be used inside Azure RemoteApp. This blogpost will cover the use of the full App-V infrastructure to publish and stream the applications to the Azure RemoteApp instances. Since a domain joined Session Host server is a prerequisite this can only be done through a Hybrid Azure RemoteApp deployment. This blogpost will not cover the installation of the App-V environment itself. This is well described on TechNet. You can find the information here. If you use an external SQL server install the database component first on the SQL server before starting the installer on the App-V Management Server.
This post will continue with describing the implementation of App-V and Azure RemoteApp. Lets first look into the advantages and disadvantages of the App-V Full infrastructure. Starting with the ways we can target App-V applications. With the App-V server we can publish applications to users and to devices. My advice is to publish only to devices and not to users. The reason for using device targeting instead of user targeting is that Azure RemoteApp doesn’t support user targeting of applications. At this moment all applications published through Azure RemoteApp are published to all users. So independently of the user has received the application from the App-V server the icon will be visible in the Azure RemoteApp client. The conclusion is that User Targeting could lead to confusion to users.
Next point is ‘to stream’ or ‘to not stream’ App-V applications. My experiences with streaming App-V applications in Azure RemoteApp is that there is not much difference in performance when starting the applications. When you use a streamed application you could see some slowness in working with the application. So the fastest way of working with App-V applications is to load them all in the cache. In Azure RemoteApp the only restriction is the disk space available. The OS Disk has a size of 127GB. So the disk space is limited. The choice of streaming applications depends on the volume of your applications and the size.
The following table summarizes some characteristics about the App-V Full infrastructure deployment:
|Add/Remove/Update of App-V applications can be done without updating the Custom Image||Extra infrastructure is needed to provide the App-V Management and Publishing servers|
|Choice of locally caching or streaming applications||Publishing App-V applications to users could lead to confusion since Azure RemoteApp could only publish applications to all users|
|Can publish applications to devices and users (when supported by Azure RemoteApp)|
The following steps are needed to create a custom image with the App-V client configured to a publishing servers:
- Execute step 1 till 7 of the first blogpost of this series which you can find here.
- Join the server to the domain and restart the server
- Configure the server to use your App-V publishing server. Note that the command will configure a global refresh and disable the User Refresh
$pubServer = Add-AppvPublishingServer -URL http://server:port -Name server -GlobalRefreshEnabled $True -GlobalRefreshOnLogon $False -GlobalRefreshInterval 2 -GlobalRefreshIntervalUnit Hour -UserRefreshEnabled $False Sync-AppvPublishingServer $pubServer
- Create a group of your Azure RemoteApp servers in your Active Directory
- Publish the applications to the group created in Step 4
- Execute step 9 till 15 of the first blogpost of this series which you can find here
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 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.
You can check if the Azure Remote App instance is working with your App-V publishing server by following these steps:
- Start an application from Azure RemoteApp
- When launched click on CTRL+ALT+END and start the Task Manager
- Click on File -> Run a task and type in PowerShell
- Execute the following command:
- Now elevate your PowerShell Session by running:
Start-Process PowerShell –Verb RunAs
- When you have an elevated Session you can run the following commands to test your sync:
$server = Get-AppvPublishingServer Sync-AppvPublishingServer $server
If you receive an error you will see an error like this:
A succesfull refresh will give the following output:
and the following messages in the eventviewer:
So with above actions you will have your Azure RemoteApp configured with the full App-V infrastructure.