APPV Scheduler

Review of App-V scheduler.

With the release of App-V 5, Microsoft has changed the way virtual applications are deployed, and have introduced computer based targeting, which was missing in the previous version. Included in RDS licenses, App-V on XenApp is an attractive solution to separate applications from the Citrix infrastructure. The deployment of virtual applications, however, has been quite challenging with the latest version, especially when using Citrix Provisioning Services (PVS).

Citrix PVS and Machine Creation Services (MCS) deployments need specific configuration. You only want to deploy App-V applications on your applications servers (when the disk is in Read Only mode), not on your master image (when the disk is in private mode).

There are a few options to deploy App-V 5 applications on Citrix XenApp:

  1. Using Microsoft App-V infrastructure
  2. Standalone mode
    • PowerShell scripts
    • Third party tools
  3. SCCM integration

In most large companies, applications are managed/published with tools like RES WorkSpace Manager on Citrix environments. Therefore, they don’t want to add a new layer of administration for virtual applications and tend to look at the Standalone mode to deploy App-V applications.

For specific deployments, Microsoft offers an App-V PowerShell SDK to create scripts, but some third party tools have been developed by the community in order to ease the work.

In this article, we will review one of the third party tool called App-V Scheduler which can be used for Standalone deployments.

App-V Scheduler

App-V Scheduler is a tool aiming to reduce the complexity of App-V deployments and help troubleshooting.

The version 2.3 was released in March 2015 and supports the following features:

  • User/Machine level deployment
  • Easy to deploy and configure
  • Prevent double management when using UEM tools like RES Workspace Manager
  • Support for both persistent and non-persistent environments (Citrix PVS\MCS integration)
  • Advanced cache management (Cleanup, auto balance cache with source and selectively pre-cache packages)
  • Improve application launch time with virtual registry pre-staging and application pre-launch feature
  • Packages and Connection groups available at machine startup and ongoing through deploy cycle
  • Complete application life cycle management; from instantly deploying packages to draining and retire applications without touching your image
  • Real-Time (portable) remote management console (inventory, manage and central configuration)
  • No App-V full infra components needed (dramatically simplify your deployment)

There are two components included when your purchase the enterprise edition:

  1. App-V Scheduler
  2. App-V Scheduler Central View for remote management

App-V Scheduler

The Scheduler is the main component and leverages the standalone mode allowing you to remove the need of an App-V infrastructure. It needs to be installed on every server with an App-V client. You only need to have a network share to store all your App-V packages.

When installed, App-V scheduler works as a Windows service. My recommendation is to run this service with a specific service account.

On the main screen, you can see all the packages and connection groups currently deployed on the server and also the following:

  • Name of the package 
  • Version 
  • Publish Globally: True of False
  • In Use: True or False
  • Percent Loaded 
  • Size of the package 
App-V scheduler - Main screen
App-V scheduler – Main screen

To configure the App-V Scheduler service, there are a lot of options available:

  • Global settings
    • UNC Path: location of the App-V packages (you can exclude directories)
    • Timer: when the refresh occurs  (at startup or every x minute(s))
  • Publishing mode:
    • Managed: When managed mode is enabled you can use App-V Scheduler Central View to create publishing tasks (see screenshots later on in this post). Both global and user publishing tasks are supported. Global publishing tasks are executed when the deploy cycle runs and user publishing tasks are executed when a user logs in to the machine, this is done directly by the App-V Scheduler agent service so no need to execute anything in the user context. Optionally user publishing tasks can also be refreshed when the deploy cycle runs allowing you to publish new applications while users are logged on to the machine. Multi domain environments are supported and there is also an option to enable nested group support.
        1. Enable nested group extraction: when packages are managed individually, you can deploy based on AD groups
        2. Refresh user publishing tasks: refresh apps in the users’ session
    • Unmanaged: all packages are deployed globally(to all users) on the server
  • Boot actions
    • Detect image state: detect if the PVS image is in Read or R/W mode, App-V packages are not deployed when the image is in R/W
    • Clean up the App-V cache: clear the cache at startup
    • Pre-Launch selected applications: improve loading time by pre-loading apps
    • Run deploy cycle: at startup
  • Refresh actions
    • Deploy new packages: compare packages on the share and package deployed locally
    • Remove packages and connection group from cache:  remove packages that are no longer present on the share
    • Mount all packages in the cache: preload all packages locally (not recommended)
    • Process deployment configure files: .appd file are processed during the deployment
    • Pre-Stage virtual registery: This option can invoke the staging of the virtual registry right after the package is added, normally this is done when the application is launched by the user for the first time causing launch delays and unnecessary CPU utilization. App-V Scheduler already logs the amount of time it took to add and publish a package and this is now also done for the registry pre-stage feature:
    • Mount only selected packages in the cache: you can select specific packages to preload locally via the Central View
    • Process Global Pending tasks: wait for packages in use to process tasks
  • Client configuration
    • App-V Cache location:  location of the app-v cache on the server. You can move the location on a static disk when using MCS or PVS.
    • Shared content Store mode: On if packages are streamed directly from the share
App-V Scheduler service configuration
App-V Scheduler service configuration

App-V Scheduler Central View for remote management

Central View is – again – something very useful in this tool. It allows you to have an unique view on all your servers where the App-V scheduler service is installed.

In order to do use Central View, you need to create an Active Directory group with all your servers running App-V Scheduler.

App-V Scheduler main screen
App-V Scheduler main screen

You can run many tasks on all the servers at the same time (multi-threads) . For example, if you need to remove a package simultaneously on all your servers, type the name of the package and then select Remove selected.

Central view - Search
Central view – Search

Same configuration as the scheduler.

Central view - Configuration
Central view – Configuration
Central View - Options
Central View – Options

You can also show and manage all publishing tasks at once when clicking on the Show Publishing Tasks button in the Central View main window.

Central view - Publishing tasks
Central view – Publishing tasks

Note: Central View is only available with the Enterprise version of App-V Scheduler.


Creation new connection group

Connection groups enable the applications within a package to interact with each other in the virtual environment, while remaining isolated from the rest of the system.

You need to manually create the connection groups in the tool. This will create .appg files in the app-v repository.

The create new connection group option is extended with the latest App-V 5 SP3 enhancements like the any version wildcard and possibility to set a package as optional.

Creation new connection group
Creation new connection group

Package information

You can see the configuration of your packages with the tool.

Package information
Package information

Package details gives you a clear view on which extension points are registered for a given package. The output is filtered so you will only see the information that is applicable to the selected package. With the blink of an eye you can see which shortcuts, file type associations, services, ActiveX and other com objects are registered in a readable and understandable format. Also extension points like browser plugins and shell extensions are shown here. App-V 5 comes with a lot more extension points than its predecessor, its important to know how a package is integrated in the OS to understand the behaviour of the application. The auto generated commandline hook switch can be used as a parameter for native processes to launch them inside the virtual environment of the package, think of Excel addins etc. In the RES Workspace Manager part I will give you an example on how to configure this.

Virtual Process

In this view, you can see all virtual processes currently running on the server and kill them if needed.

Virtual Process
Virtual Process

It allows you to easily see which users\processes keeps the package in use.

Enterprise VS Community

App-V schedule is available in two editions. See below the differences:

App-V Scheduler features
App-V Scheduler features

Pricing is available here:  App-V Scheduler Pricelist.

Note: SA is included for 1 year with the Enterprise version.

Download App-V Scheduler

App-V Scheduler 2.3 is available on the App-V Scheduler website.