+ All Categories
Home > Documents > Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating...

Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating...

Date post: 17-Jun-2020
Category:
Upload: others
View: 8 times
Download: 0 times
Share this document with a friend
62
INTEGRATING VIRTUAL APPLICATION MANAGEMENT WITH APP-V 5 AND CONFIGURATION MANAGER 2012 SP1
Transcript
Page 1: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

INTEGRATING VIRTUAL APPLICATION MANAGEMENT WITH APP-V 5 AND

CONFIGURATION MANAGER 2012 SP1

Page 2: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Introduction

Page 1 of 61

©2013 Microsoft Corporation. All rights reserved. This document is provided "as-is." Information and

views expressed in this document, including URL and other Internet Web site references, may change

without notice. You bear the risk of using it.

Some examples are for illustration only and are fictitious. No real association is intended or inferred.

This document does not provide you with any legal rights to any intellectual property in any Microsoft

product. You may copy and use this document for your internal, reference purposes.

Page 3: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Introduction

Page 2 of 61

Table of Contents Introduction .................................................................................................................................................. 5

Audience ................................................................................................................................................... 6

Prior Knowledge ........................................................................................................................................ 6

Overview ....................................................................................................................................................... 7

Application Virtualization 5.0.................................................................................................................... 7

Configuration Manager 2012 Service Pack 1 ............................................................................................ 7

Reasons for Integrating Configuration Manager and App-V ........................................................................ 8

Benefits of Integration .............................................................................................................................. 9

Architecture ................................................................................................................................................ 11

Components ............................................................................................................................................ 12

Application Virtualization Lifecycle ............................................................................................................. 13

Key Components of the Application Model ............................................................................................ 13

Application .......................................................................................................................................... 13

Deployment Type ................................................................................................................................ 13

Deployments ....................................................................................................................................... 13

App-V and Configuration Manager Integration .......................................................................................... 14

Application Virtualization Management Tasks ....................................................................................... 14

Configuration Manager and App-V Interaction .......................................................................................... 15

PowerShell .............................................................................................................................................. 15

WMI ........................................................................................................................................................ 15

Component Object Model (COM) ........................................................................................................... 15

App-V Client Install and Upgrade ................................................................................................................ 17

App-V Client Installation Model .............................................................................................................. 17

Steps for Using the Application Model Kit .......................................................................................... 18

Installing App-V 5.0 where App-V 4.6 is present .................................................................................... 19

Installing App-V Client to Remote Desktop Services .............................................................................. 21

App-V Application Lifecycle Tasks ............................................................................................................... 22

Import and Customization ...................................................................................................................... 22

Deployment Types .............................................................................................................................. 22

Content ................................................................................................................................................ 23

Distribute ................................................................................................................................................ 25

Page 4: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Introduction

Page 3 of 61

Deploy ..................................................................................................................................................... 25

Updating, Superseding and Re-Deploying .............................................................................................. 26

Copy the Application ........................................................................................................................... 26

Update the Application Source ........................................................................................................... 26

Supersede the Application .................................................................................................................. 27

Deploy the Application ........................................................................................................................ 29

Uninstall .................................................................................................................................................. 29

Auto Uninstall ..................................................................................................................................... 30

Creating the Uninstall Collection with ConfigMgr Console ................................................................ 31

Retire ....................................................................................................................................................... 32

Delete ...................................................................................................................................................... 32

App-V Application Deployment Options ..................................................................................................... 33

Download and Execute ........................................................................................................................... 33

Download and Execute Scenario......................................................................................................... 35

Streaming ................................................................................................................................................ 37

Streaming Scenario ............................................................................................................................. 38

Dynamic Configuration ............................................................................................................................... 41

Deploying Dynamic Configurations using Configuration Manager ......................................................... 42

Deploying an App-V Package with Multiple Configuration Files ........................................................ 43

Updating an Application ..................................................................................................................... 47

Updating Dynamic Configuration Files ................................................................................................... 48

Compliance Settings ............................................................................................................................ 48

Packages / Script Deployment Type.................................................................................................... 51

Update the Application ....................................................................................................................... 51

Virtual Environments .................................................................................................................................. 54

How does it differ from a Connection Group?........................................................................................ 54

Creating Virtual Environments ................................................................................................................ 54

Scenario – Better Together ................................................................................................................. 54

User Settings and Virtual Environments ............................................................................................. 56

Migrating Applications from 4.6 to 5.0 ....................................................................................................... 57

Migration from App-V Full Infrastructure or Standalone MSI to Configuration Manager ..................... 57

Reporting .................................................................................................................................................... 59

Enabling App-V Reporting in Configuration Manager ............................................................................ 59

Page 5: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Introduction

Page 4 of 61

Virtual Environment Reports .................................................................................................................. 60

Troubleshooting ConfigMgr and App-V ...................................................................................................... 61

Configuration Manager ....................................................................................................................... 61

App-V................................................................................................................................................... 61

Page 6: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Introduction

Page 5 of 61

Introduction

System Center 2012 Configuration Manager helps IT empower people to use the devices and

applications they need to be productive, while maintaining corporate compliance and control.

Configuration Manager 2012 provides a unified infrastructure for mobile, physical, and virtual

environments that allows IT to deliver and manage user experiences based on identity, connectivity, and

device. Configuration Manager 2012 also increases IT efficiency with simplified administrative tools and

improved compliance enforcement. The introduction of Service Pack 1 (SP1) introduces many new

features that are focused around Configuration Manager as the single point of management for any

application on all an organization’s devices. The following is a list of features that impact application

delivery:

Support for heterogeneous devices including Windows® 8, Windows Phone, AndroidTM, iOS®,

Mac OS X®, Nokia, and legacy Windows Mobile as well as traditional MSI, virtual applications,

and script based installers.

Windows 8 support for application delivery rules over metered connections.

Cloud integration with Windows Intune for device management from Configuration Manager

console that reaches devices.

Native integration of Application Virtualization (App-V) 5.0 and legacy versions.

With the additional support, application modeling now includes support for devices previously

unavailable for management in organizations, without additional tools. Configuration Manager 2012

SP1 enables organizations to manage all of their application assets on all of their devices with native

support for the application types as well as integration with the Window Intune service. Windows

Intune is a cloud based service that provides Configuration Manager administrators with the ability to

reach out and manage devices that are not part of the organization’s Active Directory domain as well as

devices that aren’t connected to the corporate network. The additional support in Configuration

Manager 2012 SP1 provides a complete application management solution across all devices and all

application types in most organizations, whether homegrown, purchased from a vendor, or through the

device specific application store.

Configuration Microsoft 2012 SP1 adds support of Application Virtualization (App-V) 5.0 applications.

App-V 5.0 provides benefits over traditional applications as it transforms applications into centrally

managed, virtual services that are never installed and do not conflict with other applications. App-V

dramatically accelerates application deployment, upgrades, patching, and retirement by eliminating

time-consuming processes and simplifying the application management lifecycle.

This document provides information regarding the native App-V integration with System Center

Configuration Manager workflows, enabling IT administrators to manage physical and virtual

applications through a single management experience. Together, App-V and Configuration Manager

2012 SP1 let IT empower users with the services they need to be productive from anywhere, on

whatever device they choose.

Note: Throughout this document, the terms “Configuration Manager” or “ConfigMgr” refers to

Microsoft System Center 2012 Configuration Manager SP1, and the term “App-V” refers to Microsoft

Application Virtualization 5.0.

Page 7: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Introduction

Page 6 of 61

Audience This document is intended for IT administrators interested in utilizing Configuration Manager to deploy

Microsoft Application Virtualization (App-V) 5.0 applications to users and devices, thereby gaining the

benefits of App-V 5.0 with the additional scale and features of Configuration Manager.

Prior Knowledge The administrator using this guide should have previous knowledge of the following technologies:

System Center Configuration Manger 2012

Microsoft Application Virtualization

Additional technical information is available for ConfigMgr 2012 at: http://technet.microsoft.com/en-

us/library/gg682041.aspx

Additional technical information is available for App-V 5.0 at: http://technet.microsoft.com/en-

us/library/jj713487.aspx

This document provides details for the integration of App-V 5.0 with Configuration Manager 2012 SP1 as

well as for integration of App-V 4.6 SP2 from a coexistence scenario and transitioning to App-V 5.0. For

detailed information on App-V 4.6 SP1 and greater management with Configuration Manager please

read the Virtual Application Management with Microsoft Application Virtualization 4.6 and System

Center Configuration Manager 2012 whitepaper available at:

http://download.microsoft.com/download/1/5/A/15AD0DD6-40A8-49E3-86D6-C21E5D0BC7F8/App-

V%20and%20ConfigMgr%202012%20White%20Paper.pdf

Page 8: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Overview

Page 7 of 61

Overview Configuration Manager 2012 SP1 was designed to provide the same level application management

features that are provided in the App-V 5.0 infrastructure. The following overview of App-V 5.0 and

Configuration Manager 2012 SP1 should be reviewed prior to undertaking the planning, setup and

configuration

Application Virtualization 5.0 Microsoft Application Virtualization (App-V) transforms applications into centrally managed services that

are never installed and do not conflict with other applications. IT professionals and end-users alike face

challenges in today’s work environment. End-users speak many languages, are geographically dispersed,

and may not be connected to corporate networks at all times. IT must meet the needs of these users,

and provide solutions that are fast, flexible, and reliable. App-V can help with the challenges you face

day-to-day and enable your business to be more flexible and responsive to changing needs.

With the release of App-V 5.0, virtual applications work more like traditionally installed applications

than previous versions. Users do not have to change the way they use applications because they are

virtual. App-V 5.0 makes it easy for IT to work with virtual applications stored in easily accessible

locations in the file system and registry, and provides diagnostic messages with meaningful feedback,

helping users resolve problems on their own.

App-V 5.0 enables separately packaged, virtual applications to communicate with each other and with

traditionally installed applications through well-known communication paths. This gives businesses the

best of both worlds, providing isolation that reduces conflicts and resource-intensive regression testing,

while at the same time allowing applications to interact and communicate when needed, enabling

dependency-based scenarios and better-together application deployment.

App-V provides flexible infrastructure planning, which allows IT to deploy, track and service App-V

applications centrally with the included server solution, or integrate with Configuration Manager for

additional benefits and scalability.

For additional information on App-V 5.0 visit: http://www.microsoft.com/en-

us/windows/enterprise/products-and-technologies/mdop/app-v.aspx.

Configuration Manager 2012 Service Pack 1 Microsoft System Center 2012 Configuration Manager enables delivery of user experiences across a

wide range of devices, while also ensuring that you meet corporate control and compliance

requirements. Learn more about the product capabilities in this comprehensive System Center solution.

Configuration Manager 2012 Service Pack 1 provides the same benefits as before but has been

enhanced to provide additional benefits including, Windows 8 support, additional application type

delivery, additional client support, cloud service integration, metered connection detection and delivery

rules to name a few.

For more information on additional features of Configuration Manager 2012 SP1 visit:

http://technet.microsoft.com/en-us/library/jj591552.aspx.

Page 9: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Reasons for Integrating Configuration Manager and App-V

Page 8 of 61

Reasons for Integrating Configuration Manager and App-V System Center 2012 Configuration Manager with Service Pack 1 has built-in support for App-V 4.6 SP1

and newer, up to App-V 5.0. Providing a comprehensive deployment and update service for virtual

applications that is built for enterprise deployments. Service Pack 1 for Configuration Manager 2012

reduces the App-V infrastructure to the App-V Sequencer and Client and takes the place of the

management, publishing, and streaming components in a typical App-V full infrastructure. Integrating

Configuration Manager with App-V consolidates application delivery into one infrastructure and

provides additional benefits over the App-V infrastructure.

Integration of App-V 5.0 with Configuration Manager 2012 SP1 supports the following App-V 5.0

features:

Virtual Application Connections: Enables grouping together one or more virtual application

packages to provide communication, while maintaining isolation from other virtual applications

and the operating system.

Virtual Application Extensions: Enable specific well-defined application extensions between

physical-and-virtual and virtual-to-virtual applications. Some extensions are shortcuts, file type

associations, and protocol handlers (URL redirection).

Dynamic Configuration Files: Enable configuration of specific extensions on a per-target basis.

With dynamic configuration files, different settings like database connectivity, shortcuts, File

Type Associations, and protocol handlers can be defined so the application only has to be

sequenced once, and can be deployed to different users or systems with a configuration

customized specifically for them.

App-V 5.0 continues to provide the isolation and virtualization features that have provided benefits to

organizations. Please read the documentation listed in the Introduction section to find out more about

App-V 5.0.

Page 10: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Reasons for Integrating Configuration Manager and App-V

Page 9 of 61

Benefits of Integration System Center 2012 Configuration Manager offers a rich set of capabilities for managing virtual

applications from the Configuration Manager infrastructure. Configuration Manager with App-V

integration enhances the virtual application delivery model and provides features that are not available

with an App-V full infrastructure model.

Configuration Manager and App-V Integration, Improvements and Enhancements

Single management infrastructure: By integrating App-V’s virtual application management

capabilities into Configuration Manager, enterprises can leverage Configuration Manager to

manage all of their application management tasks, both virtual and traditional. App-V

integration in Configuration Manager provides most of the native App-V classic infrastructure

capabilities, including user and computer targeting, streaming, ease-of-deployment, quick

application update process, asset management, and application lifecycle management.

Integration helps IT reduce the cost of managing and maintaining multiple infrastructures and

training personnel. Integration provides the added benefit of using a single lens/unified tool for

viewing, comparing, or aggregating information about virtual and physical applications.

Scalability: Configuration Manager is designed for large enterprise management and can scale

to support hundreds of thousands of devices. Configuration Manager Distribution Points can

host the virtual application package content for both streaming and local delivery scenarios,

thus removing the need to deploy and maintain a large number of App-V streaming servers. In

addition, Configuration Manager provides robust client roaming capabilities, allowing end users

to access their content from the nearest Distribution Point when roaming outside of their

assigned site boundaries.

Explicit targeting and scheduling: Configuration Manager provides the ability to target systems

or users with a collection of management capabilities, including virtual applications. The ability

to schedule and deploy applications and updates to specific devices and users provides the

flexibility that organizations need with required applications, while allowing users to

simultaneously install optional applications as needed.

Application Modeling: Configuration Manager 2012 application model architecture supports

having one application with multiple deployment types. This enables administrators to model

an application one time and then provide a self-service portal that allows the user to select their

required application. Modeling allows IT to configure what type of the deployment (MSI, App-V,

phone, or tablet) is delivered to the device requesting the application. IT configures the type of

deployment by defining global conditions to identify what type of device is requesting an

application. These conditions can include, but are not limited to, device type, location, or

primary user of a device. By using application modeling, App-V applications can be configured

with a dependency to the App-V Client. Thus, when IT entitles an App-V application to a user,

Configuration Manager will ensure the App-V client has already been delivered. If it hasn’t, it will

remediate the device prior to the virtual application delivery.

Internet Deployments: Administrators can now utilize Configuration Manager’s built in Internet-

Based Client Management solution to deliver App-V applications to off-premise users. In

addition to user delivery on the internet, Configuration Manager 2012 also allows App-V

Page 11: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Reasons for Integrating Configuration Manager and App-V

Page 10 of 61

application streaming to an internet user, thereby reducing the amount of data a user may need

prior to launching an application.

Additional capabilities with Configuration Manager and App-V Integration

Operating system deployment: Configuration Manager’s operating system deployment feature

can deploy virtual applications as part of the process of laying down the OS, thereby reducing

the time required to get a new system up and running for an end user.

Empower user productivity: With Configuration Manager 2012, IT can provide users the ability

to select their own applications. Users can utilize a self-service portal to install applications they

need to be productive. This feature also enables IT to set up applications that have multiple

deployment types and ensures delivery of the correct type of application (MSI or App-V) to the

correct device. For example, users could receive MSI-based applications on their primary device

and App-V applications when they log on to non-primary devices. In addition, support for third

party solutions, like Citrix®, enables users to receive the same application on their non-managed

and potentially non-Windows devices via a session hosting an App-V version which provides

improved server consolidation and ease of provisioning. All of this is accomplished by defining

an application with the metadata required to select the best deployment method for specific

users, locations, and devices, according to criteria defined by IT.

Complete desktop management: App-V also integrates with existing features within

Configuration Manager, such as support for system targeting, operating system deployment,

software and hardware inventory, software metering, asset intelligence, and Wake-On-LAN to

support virtual applications. Enterprises get the best of both worlds: The flexibility of using

virtual applications in App-V and the rich set of management features that Configuration

Manager provides with this integration.

Page 12: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Architecture

Page 11 of 61

Architecture

Deploying a Configuration Manager solution with integrated App-V for managing virtual applications

requires a Configuration Manager Primary Site, Management Point, and Distribution Point. Additionally,

the Application Catalog is required when applications are made available to users for self-installation.

The architecture of an integrated solution includes the App-V Sequencer for creating packages on

packaging workstations. Delivery of the necessary client agents (Configuration Manager and App-V

Client) to the necessary devices is required to complete the solution.

Figure 1:Configuration Manager with App-V Infrastructure

NOTE: The ConfigMgr Site Server and Distribution point can reside on the same server.

Page 13: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Architecture

Page 12 of 61

Components The table below outlines Configuration Manager and App-V components that enable integrated

Configuration Manager with App-V infrastructure. Some of these components can be installed on the

same machine. Please refer to Configuration Manager documentation for reference.

Table 1: Configuration Manager and App-V Components

Configuration Manager Primary

Site

A part of the Configuration Manager site hierarchy required for

managing the distribution and deployment of applications to client

machines.

Configuration Manager

Distribution Point

A site system role responsible for hosting application content that

is made available to Configuration Manger clients. Such data can

include files for applications, packages, software updates,

operating system images, boot images and drivers.

Configuration Manager

Management Point

A site system role that manages a client’s actions. It is responsible

for relaying information to a client from the primary site. These

actions include local machine policies and content locations.

Configuration Manager

Application Catalog (Optional)

A web portal used by end-users to request software that has been

published by a Configuration Manager administrator. The catalog

interacts with a Configuration Manager client to install software as

soon as a client has requested it.

Microsoft App-V Sequencer

The App-V Sequencer packages applications into the App-V format

for deployment with Configuration Manager.

Configuration Manger Client

The Configuration Manger client interacts with ConfigMgr server

roles to facilitate the download of content and perform the

installation of applications. For App-V, it instructs the App-V client

to publish virtual applications and assists in locating App-V

streaming content locations. Supported client devices include

desktop/laptop PC’s, session (Remote Desktop Session Host and

Citrix XenApp™), and Virtual Desktop Infrastructure (VDI) clients.

App-V Client (Windows Desktop

and Remote Desktop Services)

The App-V client manages the virtual applications launched by the

user on the client device. The App-V client performs the publishing

of virtual applications and the streaming of application data in the

package store.

Page 14: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Application Virtualization Lifecycle

Page 13 of 61

Application Virtualization Lifecycle Configuration Manager 2012 enables IT to provide a self-service and user-centric approach to

applications while maintaining corporate compliance by delivering business critical application to users

on demand. This “Application Model” is a key feature to Configuration Manager 2012 and App-V

integration.

Key Components of the Application Model The Application Model allows users to fulfill their requirements on demand, while still allowing

administrators to control how an application is delivered. Administrators specify data required for a

Configuration Manager agent to process and determine the correct delivery method. This information is

broken down into several sections:

Application In Configuration Manager 2012, an application is the primary location to store metadata used by both

end-users and administrators. The application also stores information regarding how it will be

distributed and any supersedence rules. The application itself does not define the technical mechanics

of the application delivery. Application metadata includes application name, version, and manufacturer.

Deployment Type A deployment type is the technical way in which an application is deployed to a system. A deployment

type is contained within an application and there can be multiple deployment types for a single

application. Typical deployment types include MSI delivery, a script, an App-V 4.6 package, or an App-V

5.0 package. Configuration Manager 2012 SP1 adds many new deployment types to support additional

devices and their supported applications.

Since an application can have multiple deployment types, requirements for when a deployment type

should be used must be defined. For example, if a user is known to be on their primary device, an MSI

deployment type may be the best option. If the same user is logged onto a RDSH session, an App-V

deployment is the better option. By defining these scenarios within the application model, it is possible

to bring the best experience for the user and IT on any device they use.

Deployments A Configuration Manager deployment is the action that delivers and installs an application based on the

applicable Deployment Type. Deployments are assigned to user- or system-based collections.

Deployments include information about whether the application is to be installed or uninstalled, and if it

is available or required. Additional properties of a deployment include the schedule for the application

installation and instructions for how the system will obtain the application. The application can be

pushed to the device, or users can manage their own application deployment schedule by going to the

Software Center or self-service Application catalog.

Page 15: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

App-V and Configuration Manager Integration

Page 14 of 61

App-V and Configuration Manager Integration App-V Integration with Configuration Manager is streamlined because Configuration Manager is

performing the same tasks that are available with the full App-V infrastructure. Organizations with

Configuration Manager already in place, or those in the process of implementing Configuration

Manager, can implement one infrastructure using a seamless, scalable solution to deliver, report, and

manage the application lifecycle from one console. The technical implementation of each of the above

points will be detailed and their usage explained throughout this document.

System Center 2012 Configuration Manager SP1 adds support to manage App-V 5.0 applications.

Configuration Manager uses publicly documented interfaces to interact with the App-V Client software.

All integration is implemented using the following methods:

• PowerShell: Configuration Manager uses the App-V Client's PowerShell module to manage

App-V objects including virtual applications, connection groups, and dynamic configuration

files.

• Configuration Manager Client: Configuration Manager Client determines the appropriate

download or streaming location (distribution point), as with any application.

• WMI: Configuration Manager uses the App-V Client's Windows Management

Instrumentation (WMI) classes to query and report on the status of virtual applications that

reside on the machine.

• Software Metering: Monitors application usage with Configuration Manager software

metering rules.

Application Virtualization Management Tasks Configuration Manager with App-V integration performs tasks that are usually done with the App-V full

infrastructure, as well as automating additional tasks not typically available without additional process.

In general, the following primary tasks must be completed to support App-V integration.

App-V Client: The App-V client software can be modeled with the correct configuration to

ensure the delivery of the App-V Client prior to any virtual application deployment.

Virtual Environments: Configuration Manager supports App-V Connection Groups utilizing the

virtual environments object. Virtual environments allow the administrator to define a set of

rules that tell the ConfigMgr client when to create a connection group.

Dynamic Configuration: Support for delivery and application of dynamic configuration files that

support virtual application extensions in application models.

Application Lifecycle Management: Configuration Manager provides management of

applications from delivery, update, and termination using the application catalog built-in

wizards and configurations.

Monitoring and Reporting: Configuration Manager has built-in In Console Monitoring (ICM) for

tracking application deployments. There are additional reports for tracking compliance of

Virtual Environments.

Page 16: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Configuration Manager and App-V Interaction

Page 15 of 61

Configuration Manager and App-V Interaction The Configuration Manager 2012 client and App-V client interact through three different interfaces

including PowerShell, WMI, and Component Object Model (COM).

PowerShell Configuration manager enforcement actions, such as install or uninstall, are executed using the App-V

client’s PowerShell module. The App-V module is installed on the system during the App-V client

installation and is loaded by the Configuration Manager client when an App-V operation is invoked. The

commands used by the CM client are:

Table 2:App-V PowerShell Commands Utilized by Configuration Manager

PowerShell Command Description

Add-AppVClientPackage Registers an App-V package with the App-V Client.

Set-AppVClientPackage Modifies dynamic configuration files on existing App-V

packages on the App-V Client.

Publish-AppVClientPackage Publishes extension points for a package. Common

extension points are shortcuts and file type associations.

Mount-AppVClientPackage Loads an App-V package into the App-V client cache.

Add-AppVClientConnectionGroup Adds a Connection Group to the App-V Client.

Enable-AppVClientConnectionGroup Enables the Connection Group on the App-V Client.

Disable-AppVClientConnectionGroup Disables the Connection Group on the App-V Client.

Remove-AppVClientConnectionGroup Removes a Connection Group from the App-V Client.

WMI Configuration Manager queries WMI classes to gather information regarding the App-V client and

deployed App-V Applications. By default, the App-V WMI classes are not enabled in Configuration

Manager. Please see the Reporting section for more information.

Component Object Model (COM) The App-V client uses a COM interface, exposed by the ConfigMgr client, when content is required by

the App-V client. This interface allows the App-V client to ask the Configuration Manger client for the

correct location of required content and the Configuration Manger returns the correct source location

(distribution point) to the App-V client.

Page 17: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Configuration Manager and App-V Interaction

Page 16 of 61

Page 18: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

App-V Client Install and Upgrade

Page 17 of 61

App-V Client Install and Upgrade Configuration Manager provides the infrastructure required to manage App-V applications and

automates the delivery of the App-V Client. Delivery of the App-V Client can be accomplished by

creating an application and deploying it to devices like other applications. The Configuration Manager

application model provides administrators the capability of modeling their App-V applications with a

dependency on the App-V Client installation. This ensures that the App-V Client is only delivered prior

to the first App-V application, and that it is not delivered to devices that do not receive any App-V

applications.

Configuration Manager 2012 SP1 supports the management of App-V 5.0 and 4.6 SP1 and greater

clients. However, when the coexistence of App-V 5.0 and App-V 4.6 is required during a transition to

App-V 5.0, App-V 4.6 SP2 is required before installing App-V 5.0.

This section presents the following installation and upgrade procedures:

App-V Client Installation Model: Utilizes the Configuration Manager SP1 SDK, which includes an

Application Kit. The application kit contains several commonly used applications already

modeled for ConfigMgr. Both App-V 4 and App-V 5 are modeled in this kit.

Installing App-V 5.0 where App-V 4.6 is present: Builds on the App-V client included in the

application kit, and modifying to remediate older versions of App-V 4.6 installations.

Installing App-V Client to Remote Desktop Services: Describes the process of installing the

App-V RDS Client with Configuration Manager.

This document does not cover migrations from Configuration Manager 2007 to Configuration Manager

2012 scenarios. From the App-V Client perspective the Configuration Manager 2012 requires App-V 4.6

SP1 or newer. It is assumed that the environment already has App-V 4.6 SP1 based on the requirements

of Configuration Manager 2012.

App-V Client Installation Model An installation model for several commonly used applications is available in the Configuration Manager

SP1 SDK which has been made available at: http://go.microsoft.com/fwlink/?LinkId=276784. This model

provides administrators with a pre-defined and tested installation logic for the App-V 5.0 client and all

required prerequisites. This model is based on utilizing the EXE installation of the App-V Client, which

installs all of the prerequisites. The App-V 5.0 Client model provided in the application kit detects the

presence of the App-V 4.6 Client. When a previous version of App-V 4.6 is detected, the App-V 5.0 client

is not installed. The App-V 5 client will utilize the following three different applications in the kit:

• App-V 5.0 Client

• KB2533623

• WMF 3.0 (PowerShell 3.0)

KB2533623 and WMF 3.0 are prerequisites only required on Windows 7 and Windows Server 2008 R2.

Windows 8 and Windows Server 2012 require no additional software to install the App-V client.

Page 19: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

App-V Client Install and Upgrade

Page 18 of 61

Steps for Using the Application Model Kit The application model provided by Microsoft only contains the required Configuration Manager objects.

All source files required by the kit must be downloaded and configured after importing the clients. The

following outlines the process:

1. Download the Configuration Manger SDK SP1 from

http://go.microsoft.com/fwlink/?LinkId=276784.

2. Install the SDK.

3. Navigate to C:\Program Files (x86)\Microsoft System Center 2012 Configuration Manager

SDK\Samples\Application Model\ (default location, may vary depending on installation

options).

4. Copy the Application Model Kit.zip to machine with the ConfigMgr console installed.

5. Download the App-V 5.0 Client to a shared location.

6. Open the Configuration Manager console.

7. Navigate to Software Library > Applications.

8. Right click Applications, and select Import Application.

9. Click Browse and select the ZIP file copied in Step 4.

Note: The path must be in a UNC format.

10. Click Next.

Note: The wizard will analyze the contents of the ZIP file.

Figure 2:Import Application

Page 20: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

App-V Client Install and Upgrade

Page 19 of 61

Notice the Applications and Global Conditions contained within the ZIP.

11. Click Next.

12. Click Next. Click Close.

13. Select the Microsoft Application Virtualization Client 5 application.

14. In the bottom frame, select the Deployment Types tab.

15. Right click the Microsoft Application Virtualization (App-V) 5.0 Client Install from Script

deployment type, select Properties.

16. Select the Content tab.

17. Next to Content Location click Browse. Browse to the location setup in Step 2.

18. Click Select Folder.

19. Click OK.

Important: The App-V 5.0 application source has now been updated. Repeat these steps for the WMF

framework 3.0 and Microsoft Update KB2533623. Each deployment type contained within those

applications will require the content location to be updated. Once complete, the App-V 5.0 client is

ready to be deployed to the targeted objects.

Installing App-V 5.0 where App-V 4.6 is present The Configuration Manager SP1 SDK, which includes the application kit containing the App-V 5.0 Client,

was designed to deploy the App-V 5.0 client on devices where the App-V 4.6 Client is not present.

Environments that have the App-V 4.6 client installed will need to be upgraded before both versions can

coexist. When the App-V 4.6 Client is present in the environment prior to the installation of 5.0, the

App-V 4.6 SP2 client must be configured as a prerequisite of the App-V 5.0 client deployment. In this

scenario the App-V 4.6 Client is updated to the App-V 4.6 SP2 client prior to the installation of the App-V

5.0 Client.

The details provided below are one way of ensuring that the App-V 4.6 client is upgraded to SP2 prior to

the installation of the App-V 5.0 client. This method utilizes the Configuration Manager App-V 5.0 Client

in the ConfigMgr SDK application kit as the basis to reduce effort and eliminate potential errors. The

concept is to detect the presence of the previous App-V Client and then remediate it prior to the

installation of the App-V 5.0 Client.

To create the new deployment type and follow these steps:

1. Import the App-V 5.0 Application as outlined above.

2. Navigate to the Software Library workspace, expand Application Management, select

Applications.

3. Select the imported Microsoft Application Virtualization Client 5 application.

4. In the ribbon, select Properties.

5. Select the Deployment Types tab.

6. Select the only deployment type listed, click Copy.

Note: The existing Deployment Type only installs the App-V client if a 4.x App-V client is not

detected.

7. Select the copied deployment type and click Edit.

8. Select Requirements and remove all the ‘App-V 4.x Installed equals False’ requirements.

Page 21: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

App-V Client Install and Upgrade

Page 20 of 61

9. Click Add.

10. In the Category drop down select Custom.

11. Click Create.

12. Fill out the following information in the Create Global Condition wizard.

a. Name: App-V 4.6.0 or 4.6.1 Installed

b. Device Type: Windows

c. Condition Type: Expression

13. Click Add Clause… Fill in the following information:

a. Category: Custom

b. Condition: App-V 4.6.0 Installed

c. Operator: Equals

d. Value: True

14. Click OK

15. Click Add Clause… Fill in the following information:

a. Category: Custom

b. Condition: App-V 4.6.1 Installed

c. Operator: Equals

d. Value: True

16. Click Ok

17. In the list of Clauses, click the AND connector. Switch the connector to OR.

Figure 3: Add App-V 4.6 Installed Clause

Page 22: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

App-V Client Install and Upgrade

Page 21 of 61

Note: As seen in the preview window, this deployment type is now configured to only run when a

App-V 4.6.0 or App-V 4.6.1 client is found on the system.

18. Click OK.

19. In the Condition drop down, select the newly created App-V 4.6.x Installed condition. Fill out

the following values:

a. Operator: Equals

b. Value: True

20. Click OK.

21. Select the Dependencies tab.

22. Add the 4.6 SP2 client, both 32-bit and 64-bit, as a dependency.

Note: This deployment type is now configured to only run when a 4.6.0 or 4.6.1 App-V client is

detected. When it does run, the App-V 4.6 SP2 client will be automatically loaded on to the client

system prior to installation of the App-V 5.0 client.

23. Click OK, and OK again to complete the process.

The final step in the process is to make this App-V 5.0 client application a prerequisite to all App-V 5.0

applications. In doing so, whenever a client installs an App-V application Configuration Manager will

ensure the correct set of clients are installed.

Installing App-V Client to Remote Desktop Services The App-V client for Remote Desktop Services can be installed by adding another deployment type to

the App-V client application, which would detect the presence of Remote Desktop Services prior to

installation and ensure the proper EXE is selected.

For more information about deploying the App-V client to RDS servers, please download and read the Integrating App-V for Remote Desktop Services whitepaper at: http://go.microsoft.com/?linkid=9824870

Page 23: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

App-V Application Lifecycle Tasks

Page 22 of 61

App-V Application Lifecycle Tasks App-V applications are very similar in lifecycle to traditional or MSI based applications. They have some

key differences, based on the fact that they aren’t actually installed, but are instead published. The

lifecycle begins with the creation of the App-V package at the Sequencing workstation. After the App-V

package has been created, it is handed to the person or group responsible for deploying applications.

The following covers the lifecycle of the application from importing the App-V package as a

Configuration Manager application or deployment type, through distribution of the content in the

Configuration Manager infrastructure, deploying the application to targets, upgrading the application to

a newer version and finally, to retiring the application. The next section defines the application model

components that support the App-V application lifecycle from import, distribution, and deployment.

Import and Customization The new application model introduced in ConfigMgr 2012 allows for multiple deployment technologies

to be contained in a single ConfigMgr Application. When a new App-V package has been received, the

Software Library should be reviewed for an existing application that matches the software and version

of App-V package and, if present, the App-V version should be added as an additional Deployment Type.

For example, if the Software library contains an application for Adobe® Reader 9 with a traditional MSI

install and an App-V package has now been created, instead of creating an entirely new application, a

new deployment type can simply be created within the existing application. When no defined matching

application is present, a new application should be created in the Software Library. This section focuses

on the details and customization available in the App-V Deployment Type. For information on creating

an Application in Configuration Manager go to: http://technet.microsoft.com/en-

us/library/gg682159.aspx or creating a Deployment Type go to: http://technet.microsoft.com/en-

us/library/gg682174.aspx.

Deployment Types Deployment types are the details about how an application is delivered. A deployment type can be a

number of different delivery technologies (MSI, App-V….).

Detection Method

Deployment types for traditional applications typically contain a tab for an administrator to define a

detection method. Because App-V applications are always assigned certain properties, the detection

method for an App-V 5 application is always based on the same set of properties. These properties are:

PackageID: The unique identifier of the App-V package.

VersionID: The unique identifier of the App-V package version.

App-V Components: The applications contained in the App-V package for publishing to the

machine.

PackageID and VersionID are created when an application is sequenced using the App-V Sequencer.

ConfigMgr imports these IDs from the App-V package when an App-V 5 deployment type is created.

App-V Components are the virtual applications contained within the package that are being published in

the deployment type (see the Publishing section for selective publishing).

When App-V publishes a package to a machine, information regarding the package is stored in WMI.

This information is queried by ConfigMgr to determine the list of applications currently published to a

Page 24: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

App-V Application Lifecycle Tasks

Page 23 of 61

machine. There are four classes in the AppV namespace that provide this information:

AppvClientApplication, AppvClientAsset, AppvClientConnectionGroup, and AppvclientPackage.

App-V 5 deployment types have a unique set of options tailored specifically for virtual applications.

Settings for a deployment type can be found by doing the following:

1. Open the Configuration Manager 2012 Console.

2. Navigate to Software Library > Applications

3. Locate an Application that has an App-V 5 deployment type.

4. Select the application, from the ribbon select Properties.

5. Select the Deployment Types tab.

6. Select the App-5 deployment type, click Edit.

Figure 4: App-V 5 Deployment Type

Each tab contains deployment specific information. These tabs are outlined below:

Content Administrators specify the location of the assets for delivery for a specific deployment type as well as

how the content will be delivered; via streaming or download-and-execute, as well as cache

management settings. App-V packages utilize ConfigMgr’s single instance storage during distribution to

reduce the amount of data that is sent to distribution points. For more information on SIS, read review

the following TechNet blog post: http://blogs.technet.com/b/hhoy/archive/2012/05/31/an-adventure-

in-the-sccmcontentlib-single-instance-store.aspx.

The following options are available for customization regarding content:

Page 25: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

App-V Application Lifecycle Tasks

Page 24 of 61

Persist content in client cache gives administrators the choice of retaining the App-V package in

the Configuration Manager cache or having it removed by the normal cache management

settings. Retaining the content in cache enables remote differential compression for updates to

App-V applications.

Enable peer-to-peer content distribution utilizing the BranchCache® feature of Windows that

allows a client to source from another client on the local network, if available.

Streaming or Download and Execute options allow administrators to define how content is

delivered to a client. See the App-V Application Deployment Options section for more

information/

Publishing

Exclusively on an App-V deployment type, the administrator can use the added “publishing” tab to

choose which components of virtualized applications to publish for the specific App-V deployment type

presented to the end-user. Selective Publishing of App-V virtualized application components enables

administrators to utilize one App-V package with several applications and choose to publish only specific

applications to devices or users.

Requirements

These requirements are evaluated before a deployment type is selected for use. A Configuration

Manager administrator can configure a requirement on any piece of system information (RAM, disk

space, a registry key, file, WMI query, or run a script). When an App-V 5.0 package is imported into

Configuration Manager 2012, the operating system requirements setup during sequencing are

automatically populated to this tab.

Dependencies

Dependencies are additional components that devices must have prior to deployment. If a dependency

is missing on a client, it can be remediated as part of the application deployment or as a separate task

outside of the deployment. For App-V packages, administrators should create the App-V 5.0 Client as an

application and deployment type separate from the virtualized applications that will be deployed, and

then make all App-V application deployment types dependent on the App-V client delivery.

Virtual Environments

Configuration Manager supports App-V Connection Groups utilizing the virtual environments object.

Virtual environment objects are a set of rules that determine when a connection group is created on a

client. Connection Groups combine two or more applications into a common execution environment

enabling communication between collaborative applications. The virtual environment tab within the

deployment type only allows an administrator to view virtual environments the deployment type

belongs to. To create a virtual environment, see the Virtual Environments section.

Page 26: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

App-V Application Lifecycle Tasks

Page 25 of 61

Distribute After an App-V application package has been created in Configuration Manager, the package must be

replicated to the Distribution Points that will be used to deliver the virtual application package to clients.

The Configuration Manager administrator chooses which Distribution Points to send the virtual

application package.

Configuration Manager Distribution Points support virtual application streaming by default with no

additional configuration. The reference information in the Application object indicates where only a

validation or redistribution of content can be performed.

There are several key factors to consider when distributing App-V applications. What is the size of the

application? What is the delivery method; streaming or download and execute? Do the users roam

when using the application? Do the users move to an off-premise location when using the application?

If the clients utilizing the application do not roam, such as a call center or computer lab, then targeting

only the distribution points in which the clients will use is preferable. Directed distribution will allow the

administrator to save disk space on distribution points that will never serve the content.

If clients will be actively roaming from one network to another (one boundary to another, one

distribution point to another) then it is required to offer the package on multiple (if not all) distribution

points to ensure the content will always be available to the end-user regardless of their physical

location.

Deploy After a virtual application package has been replicated to Distribution Points, a deployment that targets

the desired collection(s) should be created. Depending on how a deployment is configured will

determine how the user is presented the application. The following table outlines the available options:

Table 3: Deploy Options

Target Deployment Purpose Installation Initiation

User Target Required Automatically installed on

deployment schedule

Available Application Catalog

System Target Required Automatically installed on

deployment schedule

Available Software Center

When a deployment is created for a virtualized application, the user / system will receive the

deployment and all applications selected using Selective Publishing. Configuration Manager Clients will

use normal Configuration Manager Client polling methods to locate the deployment.

Page 27: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

App-V Application Lifecycle Tasks

Page 26 of 61

Once an App-V deployment type is selected for install and all prerequisites are installed, then the App-V

application is published to the user. See the App-V and Configuration Manager integration section for

more information.

Configurable Options:

• Application deployment installation type: Required or Available

• Collection selection of client devices or users to which the package should be deployed

• Scheduling deployments

• User experience for integration in the Software Center and display of notifications

For more information on the Create Application Wizard, see http://technet.microsoft.com/en-

us/library/gg682159.aspx.

For more information on the Deploy Software Wizard, see http://technet.microsoft.com/en-

us/library/gg682082.aspx.

Updating, Superseding and Re-Deploying As with traditionally installed applications, virtual applications will need to be upgraded over their

lifecycle. Virtual application packages deployed with Configuration Manager can be upgraded easily to

include service packs, software updates, etc. In order to upgrade virtual applications, the App-V

Sequencer is used to create the upgraded package.

Upgrading applications, whether traditional or virtual, uses the supersedence feature. Administrators

copy the original application, update the application’s metadata and deployment type source to reflect

the new version’s information, and then configure supersedence on the new application. The

administrator deploys the updated application to systems / users, allowing users to access the updated

applications in the package. For more information on upgrading applications visit:

http://technet.microsoft.com/en-us/library/gg682071.aspx

The following steps outline this process:

Copy the Application 1. Find the initial revision of the application in the configuration manager console.

2. Right Click the application, select Copy.

Configuration Manager makes a copy of the application and names it “PreviousName-Copy”.

Deployments are not copied.

3. Find the new copy of the application.

4. Rename the Application and Deployment Types to reflect the new version of the software.

Update the Application Source 5. Select the new version of the application in the Software Library.

6. In the lower right pane, select Deployment Types.

7. Right click the App-V 5.0 Deployment Type, select Update Content.

Page 28: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

App-V Application Lifecycle Tasks

Page 27 of 61

Figure 5: Update Content Wizard

This launches the Update Content Wizard. This wizard is only available on App-V 5.0 deployment types.

8. Click the Browse button and navigate to the new set of source files.

9. Complete the rest of the wizard.

10. Redistribute the Application to Distribution Points.

Supersede the Application 11. Find the new copy of the Application in the Software Library.

12. Right Click the Application, select Properties.

13. Select the Supersedence tab.

14. Click Add.

15. Click Browse and select the original application.

Page 29: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

App-V Application Lifecycle Tasks

Page 28 of 61

Figure 6: Supersedence Relationship

The administrator can configure supersedence to either replace or upgrade the application. If the

uninstall box is checked, Configuration Manager will first uninstall the old application, and then deploy

the new application to the user (replace). For an App-V application, user settings will be lost using this

method. Only select the uninstall option for scenarios where replacement of the entire application,

including user personalization, is desired or required.

Important: When utilizing the uninstall option with supersedence, if the application being superseded

is in use, the uninstall operation will fail causing the deployment to fail. This reports “Virtual

application is currently in use” in the ConfigMgr console. When this occurs, the ConfigMgr client will

reattempt the deployment every 2 hours, a maximum of 10 times, and then every 7 days.

If the uninstall option is not selected, the application will do an in-place upgrade. In App-V, if the new

Application is from the same lineage as the application being replaced, all user settings are retained

during the upgrade.

Note: If the application being upgraded (no uninstall) is in use, the new version is published to the

client and becomes available after the users closes and reopens the application.

16. Select a deployment type to supersede the old application from the New Deployment Type

drop down.

17. Decide to replace, or upgrade the application and select the appropriate option for the Uninstall

check box.

18. Click OK.

19. Notice the check box at the bottom of the Supersedence tab. This option allows you to hide the

previous revisions of the application from the Application Catalog.

Page 30: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

App-V Application Lifecycle Tasks

Page 29 of 61

Deploy the Application The deploy wizard offers two additional options for an application that has supersedence rules

configured. By selecting the first setting on the Deployment Settings, the administrator can

automatically upgrade any superseded versions of the application. Choosing this option allows the

administrator to use the Scheduling page to schedule when the upgrade will take place.

Uninstall The ability to remove virtual applications from a client is one of the benefits of App-V. Virtual

applications are not uninstalled like traditional software; they are instantly removed from the client by

unpublishing and removing extension points (shortcuts and FTAs) from the client. Removing an App-V

application from a given client requires creating an uninstall deployment targeted at the appropriate

collection.

Note: Uninstall deployments do not remove dependencies and require that administrators create

additional uninstall deployments.

Page 31: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

App-V Application Lifecycle Tasks

Page 30 of 61

Auto Uninstall Install deployments always take precedence over uninstall deployments. If an application has an install

and uninstall deployment that overlaps and targets the same objects in the targeted collections, the

application will remain. To configure an application to automatically uninstall when a user / system is

removed from the install collection, create a collection based on the deployment status of a deployed

application then target an uninstall deployment to it.

select

*

from

SMS_R_System inner join SMS_G_System_AppClientState on

SMS_G_System_AppClientState.MachineName = SMS_R_System.Name where

SMS_G_System_AppClientState.ComplianceState = 1 and

SMS_G_System_AppClientState.AppName= "Application A"

Figure 7: AutoUninstall

Page 32: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

App-V Application Lifecycle Tasks

Page 31 of 61

In this scenario, the Install Collection is a collection of systems targeted by Application A. Since install

deployments take precedence in Configuration Manager, as long as systems remain in the install

collection, the uninstall deployment is ignored. When a system is removed from the Install Collection,

the uninstall deployment will be the only available deployment and the application will be removed. The

removal will happen the next time the system performs a global evaluation.

Note: The uninstall collection query listed only works for systems. The query must be modified when

the install collection contains user objects.

Creating the Uninstall Collection with ConfigMgr Console This collection query can also be generated through the ConfigMgr console when a new collection is

created by adding a query rule to a new or existing collection. Complete the following steps to create a

new collection query that will be the target of an uninstall deployment:

1. In either the new collection wizard, or the properties of an existing collection, add a new query

rule.

2. Name the rule and ensure the Resource class: drop down is set to System Resource.

3. Select Edit Query Statement.

4. Click the Joins tab.

5. Click the star icon ( ) to create a new join statement.

6. Underneath the Join attribute box, click Select.

7. In the Attribute class drop down, select Application Client State.

8. In the Attribute drop down, select Machine Name. Click OK.

9. Underneath the Base attribute box, click Select.

10. In the Attribute drop down, select Name. Click OK.

11. Click OK again to add the join clause.

12. Select the Criteria tab, and click the star icon to add a new statement.

13. Underneath the Where clause, click Select.

14. In the Attribute class drop down, select Application Client State.

15. In the Attribute drop down, select Compliance State. Click OK.

16. Ensure the Operator value is set to is equal to. In the Value textbox, enter 1.

17. Click OK to add the clause.

18. Click the star icon to add another clause.

19. Underneath the Where clause, click Select.

20. In the Attribute class drop down, select Application Client State.

21. In the Attribute drop down, select Application Name. Click OK.

22. Ensure the Operator value is set to is equal to. In the Value textbox, enter the name of the

application you want to create the uninstall collection for.

Note: This value must exactly match that of an application currently in ConfgMgr. If these names do

not match exactly, the collection will return no members.

23. Click OK to add the clause.

24. Click OK twice to complete the query build process.

Page 33: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

App-V Application Lifecycle Tasks

Page 32 of 61

Retire Retiring an application disables deployment of the application but does not delete existing deployments

of the application. Existing copies of the retired application installed on client computers will not be

removed. If an application that has no deployments is retired, it will be deleted from the Configuration

Manager console after 60 days. However, any installed copies of the application are not removed.

Please refer to http://technet.microsoft.com/en-us/library/gg682031.aspx for further information

regarding retirement.

Delete At the end of the application lifecycle, when an application is no longer needed for deployment, it

should be deleted from the infrastructure. Deleting an application requires that the application is not

being actively deployed and requires administrators remove any link to an active application

deployment or task sequence. If the application must be removed from all machines, the administrator

will need to create an uninstall deployment to remove the application from any clients and then delete

the uninstall deployment prior to deletion of the application.

Page 34: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

App-V Application Deployment Options

Page 33 of 61

App-V Application Deployment Options Configuration Manager supports two methods for delivery of virtual applications to clients: streaming

delivery and local delivery (download and execute). This section describes these delivery methods.

Sequenced application packages contain a fully pre-configured run-time environment for the virtualized

application. The application installation process occurs only on the App-V Sequencer workstation during

the packaging process. The Sequencer processes handless and applies changes with applications that

require system reboots. When a virtual application is delivered to a client PC, the application is ready to

run. No application software installation, client PC reboot or post-installation application configuration

is required when delivering a virtual application to client PCs. This significantly reduces the time

required to deliver a virtual application to a client PC verses the time required to deliver a non-

virtualized (i.e., locally installed) application to a client PC. This benefit is independent of the

Configuration Manager application delivery method (i.e., streaming or local delivery) used to deliver the

application to client PCs.

Download and Execute The Configuration Manager Client supports local delivery of virtual applications. With this delivery

method, the Configuration Manager Client first downloads the entire virtual application package into

the Configuration Manager Client cache. The Configuration Manager client then publishes and mounts

the application to the system. When the mount command is run, the App-V file is extracted to the App-V

package store.

The following figure illustrates the virtual local delivery (download and execute) process.

Page 35: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

App-V Application Deployment Options

Page 34 of 61

Figure 8: Download and Execute Locally Workflow

1. An application packaging specialist sequences an application and saves the new virtual

application package to the App-V Content Source directory.

2. The Configuration Manager administrator creates an application. To create the new App-V

application, the Configuration Manager administrator runs the Create Application Wizard from

the Software Library or creates an additional Deployment Type for an already existing

application.

For more information on the Create Application Wizard, see http://technet.microsoft.com/en-

us/library/gg682159.aspx

3. The Configuration Manager administrator uses the Distribute Content wizard and selects the

distribution points where the application will be replicated.

For more information on the Distribute Content Wizard, see http://technet.microsoft.com/en-

us/library/gg712694.aspx#BKMK_DistributeContent

4. The Configuration Manager administrator creates a deployment targeting the new virtual

application package to a collection of client PCs or users using streaming delivery.

Page 36: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

App-V Application Deployment Options

Page 35 of 61

For more information on the Deployment Wizard, see http://technet.microsoft.com/en-

us/library/gg682082.aspx

5. The Configuration Manager Client evaluates the deployment based on the deployment type

criteria.

6. The application is copied into the Configuration Manager Cache.

7. The Configuration Manager client adds the App-V package to the client. The App-V Client

creates program shortcuts and FTAs for each program in included in the package. The

Configuration Manger client then mounts the App-V package on the system.

8. During the mount command issued by the Configuration Manager client, the App-V client copies

the package data into the App-V package store.

9. The user clicks on one of the program shortcuts associated with the virtual application package

and the application launches.

Download and Execute Scenario A user has navigated to the company’s application portal hosted by Configuration Manager. The user

searched the catalog, found a needed application, and initiated an install. This application has been

configured for download and execute, and client’s machine has the App-V client installed. The following

is how the Configuration Manager Application Catalog and Client would complete that installation:

1. The Application Catalog role sends the required information about the application to the client.

This information includes the requirements for the application (for example, windows 7, 32 bit

with 1 GB of memory) along with any prerequisite software requirements.

2. The client evaluates the system, checking to see what software is already installed, and verifies

the client meets all the requirements of the application. If any requirement is not met, the

Application Catalog will inform the user the minimum requirements for the application have not

been met and the process will stop.

3. Based on the Configuration Manger Client location a distribution point is selected to download

the application’s content. Three files are downloaded for the AppV package to the Configuration

Manager Client cache (By default located at C:\Windows\CCMCache\). These files are:

a. AppName.Appv – Contains the source files for the AppV package.

b. AppName_UserConfig.xml – Contains custom user configurations.

c. AppName_DeploymentConfig.xml – Contains custom machine configurations.

d. Any prerequisite software – Additional software, like the App-V Client if modeled as a

dependency of the App-V application installation.

Note: For more information about User and Deployment Configurations, see the section

Dynamic Configuration.

4. All prerequisite software is installed.

5. The Configuration Manager Client identifies that the application is set for download and execute

deployment. Using the Configuration Management infrastructure, the client selects the best

distribution point and configures the App-V Client for streaming the content from the

Configuration Manager cache.

6. The App-V applications are Added, Published, and Mounted to the client. Configuration Manger

generates a Deployment (computer target) or User Configuration (user target) file for publishing

based on the application’s dynamic configuration file and settings configured in the deployment

Page 37: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

App-V Application Deployment Options

Page 36 of 61

type (publishing tab) and creates the file in the Configuration Manager cache. The Configuration

Manager Client executes the following PowerShell commands to complete the task:

Code Example 1: Download and Execute App-V Package Addition and Publishing Client-side Processing

Add-AppvClientPackage -Path 'C:\Windows\ccmcache\c\AppName.appv' -DynamicDeploymentConfiguration 'C:\Windows\ccmcache\c\AppName_DeploymentConfig.xml' Publish-AppvClientPackage -PackageID {PackageIDGuid} -VersionID {VersionIDGuid} -DynamicUserConfigurationPath 'C:\Windows\CCM\SystemTemp\AppVTempData\{PackageID}_UserConfig.xml’ Mount-AppvClientPackage -PackageID {PackageIDGuid} -VersionID {VersionIDGuid}

The Add command registers the App-V package with the local system. The Deployment

Configuration file is applied at this time.

The Publish command makes the App-V package available to the user. It publishes shortcuts,

takes over file extensions, etc. The User configuration file is applied at this time.

The Mount command instructs the App-V client to extract the contents of the AppName.appv

file to the App-V package store (By default C:\ProgramData\App-V\).

7. The application is now fully downloaded and published to the client machine.

Page 38: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

App-V Application Deployment Options

Page 37 of 61

Streaming When managed by Configuration Manager, the App-V Client supports streaming virtual applications via

HTTP or HTTPS from a Configuration Manager standard Distribution Point server. Streaming via HTTP or

HTTPS is enabled by default and configured as part of the Distribution Point properties. This method

does not utilize the Configuration Manager cache for delivery of the entire App-V package. Only the

Dynamic Configuration Files are placed in the Configuration Manager cache and the App-V Client is

configured to stream the App-V package from the distribution point via HTTP(S) on first launch for

delivery to the App-V package store.

The following figure illustrates the virtual application steaming delivery process from end to end.

Figure 9: Streaming Workflow

Figure 4 – Streaming Application Delivery Process

1. An application packaging specialist sequences an application and saves the new virtual

application package to the App-V Content Source directory. The App-V Content Source

directory is a network share that contains sequenced application packages.

Page 39: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

App-V Application Deployment Options

Page 38 of 61

2. The Configuration Manager administrator creates an application. To create the new virtual

application package, the Configuration Manager administrator runs the Create Application

Wizard from the Software Library.

For more information on the Create Application Wizard see

http://technet.microsoft.com/en-us/library/gg682159.aspx

3. The Configuration Manager administrator uses the Distribute Content wizard and selects the

distribution points where the application will be replicated.

For more information on the Distribute Content Wizard see

http://technet.microsoft.com/en-us/library/gg712694.aspx#BKMK_DistributeContent

4. The Configuration Manager administrator creates a deployment targeting the new App-V

application to a collection of systems or users using streaming delivery.

For more information on the Deployment Wizard see http://technet.microsoft.com/en-

us/library/gg682082.aspx

5. The Configuration Manager Client evaluates the deployment and deployment type criteria,

and, if it is applicable, adds and publishes the App-V package. Shortcuts and FTA’s are also

deployed.

Note: The App-V Client will not stream the new application package until the user clicks on

one of the program shortcuts associated with the new package.

Note: Deployments that are available enable user invocation from the Application Catalog

and include administrator approval prior to publishing App-V and traditional applications.

6. The user clicks on one of the program shortcuts associated with the virtual application

package.

7. The App-V Client streams the blocks of the virtual application package required to launch

the program (i.e., Primary Feature Block) into the App-V package store directly from a

Configuration Manager Distribution Point. Which Distribution Point server is used for

streaming is determined by the current location of the Configuration Manager Client and

the policies contained in the deployment type for the virtual application package.

8. After the Primary Feature Block is streamed into the App-V Client cache, the application is

launched and presented to the user. By default, any additional blocks are streamed in the

background until the package is fully cached. This ensures that all features of the

application are available when the client system is offline.

Note: From a support perspective, there is a scenario where a device has published the App-V

application to the machine but the content has not been streamed, and the device leaves the

network. If the user attempts to launch the application, this would result in a failure to launch

unless the device is an internet-based client and the specific application is available.

Streaming Scenario A user has navigated to the company’s application portal hosted by Configuration Manager. The user

has searched and found a needed application from the catalog, and has initiated an install. This

application has been configured to stream from a distribution point, and the App-V client is installed on

the machine. The following is how the Configuration Manager Application Catalog and Client would

complete that installation:

Page 40: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

App-V Application Deployment Options

Page 39 of 61

1. The Application Catalog role sends the required information about the application to the client.

This information includes the requirements for the application (for example, windows 7, 32 bit

with 1 GB of memory), and any prerequisite software and its requirements.

2. The client evaluates the system, checking to see what software is already installed and verifying

the client meets all the requirements of the application. If any requirement is not met, the

Application Catalog will inform the user that the minimum requirements for the application

have not been met.

3. Based on the Configuration Manger Client location a distribution point is selected to download

the application’s content. Two files are downloaded for the AppV package to the Configuration

Manager Client cache (by default located at C:\Windows\CCMCache\). These files are:

a. AppName_UserConfig.xml

b. AppName_DeploymentConfig.xml

c. Additional content, like the App-V Client, if modeled as a dependency of the App-V

application installation.

Note: For more information about User and Deployment Configurations, see the section

Dynamic Configuration.

4. All prerequisite software is installed.

5. The Configuration Manager Client identifies that the application is set for streaming

deployment. Using the Configuration Management infrastructure, the client selects the best

distribution point and configures the App-V Client for streaming the content from the selected

distribution point.

6. The App-V applications are Added and Published to the client. Configuration Manger generates

a Deployment (computer target) or User Configuration (user target) file for publishing based on

the application’s dynamic configuration file and the settings configured in the deployment type

(publishing tab), and creates the file in the Configuration Manager cache. The Configuration

Manager Client executes the following PowerShell commands to complete the task:

Code Example 2: Streaming App-V Addition and Publishing Client-side Processing

Add-AppvClientPackage -Path 'https://CM-FQDN:443/NOCERT_SMS_DP_SMSPKG$/Content_{ContentIDGuid}.{ContentVersion}/AppName.appv' -DynamicDeploymentConfiguration 'C:\Windows\ccmcache\d\AppName_DeploymentConfig.xml' Publish-AppvClientPackage -PackageID {PackageIDGuid} -VersionID {VersionIDGuid} -DynamicUserConfigurationPath 'C:\Windows\CCM\SystemTemp\AppVTempData\{PackagIDGuid}_UserConfig.xml'

The Add command registers the App-V application to the system. The remote location used for

streaming the application will vary depending how the Configuration Manger infrastructure is

configured. The Deployment configuration is applied at this time.

The Publish command makes the App-V package available to the user. It publishes shortcuts, file

type association, etc. The User configuration file is applied at this time.

7. The application has not been downloaded to the client machine at this time. Sparse files are

currently located on the system as place holders for when a user launches the application. These

Page 41: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

App-V Application Deployment Options

Page 40 of 61

files are located in the App-V cache (C:\ProgramData\App-V\{PackageIDGuid}\{VersionIDGuid}\.

Sparse files are indicated by the typical icon with a grey ‘x’ in the lower right corner.

8. When the application is run by the user, only files required by the application to launch will be

downloaded from the Configuration Manager distribution point.

Page 42: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Dynamic Configuration

Page 41 of 61

Dynamic Configuration Sequenced App-V packages can be modified by dynamic configuration files after sequencing to create

custom configurations for the package. These customizations can include things that are simple, like

different shortcuts or they may be more advanced, such as pointing an application to a different

database. Modifications are done post-sequencing and are external to the package customization,

which prevents packagers from having to sequence a package multiple times for multiple configurations,

and targeted to different objects (users or computers). Utilizing Dynamic Configuration files prevents an

App-V application from having to be sequenced multiple times to deploy unique configurations to

different machines or users.

There are two types of Dynamic Configuration files, User and Deployment. When an application is

targeted to a user, both the User and Deployment configurations are applied to the App-V package.

When an application is targeted to a machine, only the Deployment configuration is applied.

Table 4:Dynamic Configuration application by Target type

Targeted To User Configuration Applied Deployment Configuration Applied

User X X

Machine

X

Additional information and detailed examples of Dynamic Configuration please see section 14 of the

App-V 5.0 Sequencing Guide.

Deploying Dynamic Configuration files with an App-V package in Configuration Manager can be

accomplished in different ways. The following section explains the behavior of Dynamic Configuration

file deployment in Configuration Manager as well as details the different ways to accomplish managing

Dynamic Configurations throughout the application lifecycle.

Page 43: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Dynamic Configuration

Page 42 of 61

Deploying Dynamic Configurations using Configuration Manager Configuration Manager supports the use of Dynamic Configuration files with App-V 5.0. Both user and

Deployment Configuration files are required when loading an App-V application into Configuration

Manager. You cannot add an App-V 5.0 application without both a User and Deployment configuration

file present. Either the default files that were created during sequencing or a customized version created

for unique configurations can be used. If multiple User or Deployment configuration files are detected

when Configuration Manger imports an application, ConfigMgr will select the most recently modified

user and deployment configuration files.

During the creation of an App-V 5.0 deployment type, Configuration Manager will display which

configuration files have been selected.

Figure 10: Dynamic Configuration Display during Application Creation

Page 44: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Dynamic Configuration

Page 43 of 61

Additionally, an administrator can view which deployment and user configuration files are being used by

going to the App-V 5.0 deployment type within an application and selecting the Content tab.

Figure 11: Dynamic Configuration display post-creation

There are three primary work flows that organizations should decide upon prior to deploying App-V

Packages with Dynamic Configuration files. These work flows have multiple ways that they can be

achieved and include deploying the App-V package with dynamic configuration files, upgrading the App-

V package with dynamic configuration files, and upgrading the dynamic configuration files without

upgrading the App-V application. Keep in mind that each of these work flows has more than one

potential way to accomplish the result, and not all possibilities are defined in these examples. The

information below is presented with the administrator in mind and how they would typically interface

with App-V applications.

Deploying an App-V Package with Multiple Configuration Files App-V Packages that have been created with multiple Dynamic Configuration files require additional

consideration compared with App-V packages that do not have modified Dynamic Configuration files. In

an example scenario, an App-V package has been created and the requirements for deployment need

unique configurations for different targets of the App-V Package. This could occur with a Line-of-

Business application where different locations require a unique database for connectivity.

When creating applications and deployment types to support multiple unique Dynamic Configuration

files, a unique source folder for each dynamic configuration must contain the AppV file (identical in each

directory) and the unique dynamic configuration files for the specific deployment. This is required

because ConfigMgr will only select the newest modified user and deployment configuration file. If all of

Page 45: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Dynamic Configuration

Page 44 of 61

the unique Dynamic Configuration files were in a single source directory, only the newest Dynamic

Configuration files would be applied to each application deployment type.

The figure below shows a scenario where a single App-V application has three unique user configuration

files that require different targeting. In this scenario, there is an App-V Application called Application A,

which has been sequenced and the resulting package file is called ApplicationA.appv. After sequencing,

the user configuration files have been modified (affecting the publishing of the application to the user),

and the unique configurations have been renamed to userconfig1.xml, userconfig2.xml, and

userconfig3.xml. The Deployment Configuration file (affects the addition of the package on the entire

machine) either has not been modified, or the required modifications are for all computers where this

package is deployed, is called DeploymentConfig1.xml.

Figure 12: Multiple Dynamic Configurations Directory Structure

When the Configuration Manager administrator receives the App-V package and all of the dynamic

configuration files from the packaging engineer, three unique directories must be created on the central

storage (Application Source Folder), and the directories must be populated. In this scenario, the

administrator has chosen to create a folder for the Application called Application A and then create

three subdirectories called User Configuration 1, 2, and 3. This is not a required directory structure, but

the unique user configurations must be contained within three unique source folders (because

ConfigMgr will only select one set of deployment configurations). In addition to the unique user

configuration file, the folder must also contain the AppV file, and the DeploymentConfig1.xml for the

specific application.

Since Configuration Manager uses Single Instance Storage, each unique file will only be replicated to the

distribution points once, even though there are three unique source folders. In this example, the APPV

and DeploymentConfig1.xml file are only replicated once to distribution points, and all three

Page 46: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Dynamic Configuration

Page 45 of 61

UserConfigX.xml files are replicated. For more information about Single Instance Storage, please refer to

this TechNet Blog.

Once the folder structure is configured, there are two options for deploying the application:

Multiple Applications

The first option is creating unique applications for each of the Dynamic Configurations. From the

example above, there are three unique user configuration files, which would require creating three

applications (Application A1, Application A2, and Application A3). The administrator would then create

an App-V 5 deployment type within each application, and each deployment type would utilize the

source directory with the specific dynamic configuration files. The normal lifecycle process of content

distribution is performed, creating a deployment that is tied to a specific collection, containing user

objects targeted for the custom configurations.

Figure 13: Deploying Dynamic Configuration with Multiple Applications

Note: This scenario targets a collection of users with the Dynamic Configurations.

Note: Targeting computer objects with Dynamic Configurations only applies the Deployment

Configuration file and not the user configuration file. However, the deployment configuration files have

a user-based section that can be modified to effect user based settings.

Page 47: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Dynamic Configuration

Page 46 of 61

Multiple Deployment Types

The second option is to create a single application with a unique deployment type for each of the

Dynamic Configurations that utilizes the source directory with the specific dynamic configuration files

for the targeted users. The normal App-V lifecycle of distributing and deploying the packages is

performed. Package deployment is to a single collection and the deployment type requirements define

which systems will receive which dynamic configuration.

Figure 14: Deploying Multiple Dynamic Configurations with one Application

The requirements in a deployment type are limited to the Global Conditions defined in Configuration

Manager. These conditions include information from the local machine such as processor speed,

amount of RAM, registry values, or custom defined queries. Organizations that want to use this method

will require utilizing data on the local machine or writing custom queries that search for specific

identifying data that defines unique groups of objects (machine or user) that align with the required

destination for the dynamic configuration files. For a full list of conditions that can be defined, please

refer to Global Conditions on TechNet.

Page 48: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Dynamic Configuration

Page 47 of 61

Updating an Application After deploying an App-V application with Dynamic Configurations the application will eventually need

updates. The process of updating an application in App-V requires sending the package back to the

Sequencing engineer who will open the application, update (hotfix, service package, or updated version)

and then save the new package. After this is complete, the Sequencing Engineer will give the package

back to the Configuration Manager administrator for deployment. The updating process may include

creation of new Dynamic Configuration files. The scenario presented above was an App-V package with

three unique user configuration files. These files could stay the same or may require updates based on

requirements of the update. There are two cases to consider when an App-V application is updated

using the sequencer and updated by a Configuration Manager administrator (see Update in the

Application Model Lifecycle section):

Existing Installation

With an existing installation, the App-V application has been previously deployed to a device with

Dynamic Configuration files. Regardless of whether or not the Dynamic Configuration files have been

updated, Configuration Manager will re-apply the user and deployment configuration files when the

App-V package is updated.

New Installation

With a new installation, where a device has not received any version of the App-V application,

Configuration Manager will apply the most recent dynamic configuration files contained in the

deployment type when the App-V package is deployed.

Page 49: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Dynamic Configuration

Page 48 of 61

Updating Dynamic Configuration Files In some cases, it is necessary to update the dynamic configuration files of an already deployed

application without updating the App-V file. When the desired change only affects the dynamic

configuration files, there are several options for updating the configurations:

Compliance Settings The Compliance Settings feature of Configuration Manager can be utilized to update Dynamic

Configuration files. The process requires creating a script (PowerShell) that discovers where the

dynamic configuration files are located, determines if the file is in compliance or not, then remediates

the file if it is out of compliance. Once the script has been generated, a configuration item and baseline

can be created in ConfigMgr that can be distributed to users / systems. This enables updating the

Dynamic Configuration files outside of application management and can be utilized to apply the updates

on specific App-V applications enabling flexibility in the application.

There are two methods for updating dynamic configuration files, both require a way in which to identify

where a dynamic configuration file is located. The App-V PowerShell module provides a function to

properly identify where a dynamic configuration file is located:

Code Example 3: Identifying Deployed Dynamic Configuration file locations

Import-Module AppVClient

#There are two ways to retrieve a package, either way can be used depending#on the requirements of the dynamic configuration update

#Using only the packageguid$pkg = Get-AppvClientPackage -PackageId {PackageGUID}

#Using both the packageguid and versionguid$pkg = Get-AppvClientPackage -PackageId {PackageGUID} -VersionID {VersionGUID}

#Depending on which file is to be updated, there are two functions for #retrieving the dynamic configuration file location

#Use this function to get the Deployment Configuration Path$configPath = $pkg.GetDynamicDeploymentConfigurationPath()

#Use this function to get the User Configuration Path$configPath = $pkg.GetDynamicUserConfigurationPath($false)

Note: The parameter passed to the GetDynamicUserConfiguration function determines whether to

search globally for user configuration files.

These functions return the full path to the configuration file for the package specified:

Code Example 4: Output of identified Dynamic Configuration Paths

Page 50: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Dynamic Configuration

Page 49 of 61

Once a file has been updated using one of the two methods identified later in this section, the

application will need to be re-published to the user or system. For a system republish, the following

commands can be used:

Code Example 5: Re-publishing App-V Packages

#Command used to set the new deployment configuration file for the packageSet-AppVClientPackage -PackageId $pkg.PackageId -versionId $pkg.VersionId -DynamicDeploymentConfiguration $pathToNewConfiguration

#Command used to republish the package with the new configuration file set in the previous commandPublish-AppvClientPackage -PackageId $pkg.PackageId -VersionId $pkg.VersionId-Global

When updating a user configuration file, only the currently logged-in user can republish an application.

This means the configuration baseline will need to run for each user the application has been deployed

to, even if those users reside on the same system. To republish a package with a new user configuration

file, only one command is required:

Code Example 6: Re-publishing user configuration

#Command used to republish the package with a new user configuration filePublish-AppvClientPackage -PackageId $pkg.PackageId -VersionId $pkg.VersionId -DynamicUserConfigurationPath $pathToNewConfiguration

There are two methods in which a dynamic configuration file can be updated. Both methods are

outlined below:

Line by Line Replace

After a dynamic configuration file has been identified using the method listed above, the script makes a

copy of the file to a temporary location so that it can be searched for specific settings. If a setting is

found and is out of compliance, the script makes changes to the file and saves the new version to a

temporary location. Once the file has been modified and saved, the package can be republished using

the commands outlined above.

This method is advantageous because it allows an administrator to modify a single setting across

multiple dynamic configurations. Consider the example where a single package has been deployed using

multiple different dynamic configurations. A ConfigMgr administrator now wants to update a single

setting in all of these different configurations. The admin cannot replace the entire file with one baseline

because each configuration differs in some way. Searching for the specific setting and changing only that

setting is the only way to update the application.

This method requires that a new PowerShell script be written each time a dynamic configuration file

update is required, as the location and format of the dynamic configuration files will change.

Additionally, each scenario must be tested to ensure the script works across multiple different dynamic

configuration files.

Page 51: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Dynamic Configuration

Page 50 of 61

Entire File Replace

In this method, the entirety of the new configuration file is contained as a variable in the script. This

variable can then be compared to the currently deployed configuration file to determine compliancy. If

the file is found to be out of compliance, the script can write the new configuration to a file, then

republish the application.

Code Example 7: Creating new Dynamic Configuration File

#The new dynamic configuration file$NewConfig = @"<?xml version="1.0"?><UserConfiguration PackageId="1bcaa53d-cbaa-4398-8d02-27e4ae0cbe52" DisplayName="XMLNotepad-5.0"....."@

#The current dynamic configuration file$configPath = $pkg.GetDynamicUserConfigurationPath($false) $CurrentConfigFile = (Get-Content $configPath -Raw)

#Remove leading and trailing spaces to ensure the comparison will work$CurrentConfigFile = $CurrentConfigFile.Trim()$NewConfig = $NewConfig.Trim()

#Perform actions based on complianceif($NewConfig -eq $CurrentConfigFile) { #Exit}else { #Alert Non-Compliance / Re-publish Application}

NOTE: This code has not been tested and is not supported. It is meant to aid in understanding the

concept described.

In order for this method to work properly, the new configuration file must be obtained so that it can be

compared in the script. The dynamic configuration files that come from the sequencer cannot be used in

this script because when an application is published with a dynamic configuration file, certain formatting

is stripped from the file. Therefore, to obtain the correctly formatted version of the dynamic file, the

application must be published once to a system using the new configuration file. The contents of the

published file are then copied and put into the PowerShell script. The outline of the process is as follows:

1. An update to a dynamic configuration file is required to an already deployed App-V application.

2. The Application Sequencer modifies the Dynamic Configuration files to reflect the desired

changes.

3. The application is deployed once to a test system using the new dynamic configuration file.

4. The administrator retrieves the modified configuration files from the system after the

application deployment. Depending on whether a user or deployment configuration file is

deployed, the location of the file will be as follows:

a. User Configuration File:

C:\Users\{UserName}\AppData\Roaming\Microsoft\AppV\Client\Catalog\Pacages\{Pack

ageGuid}\{VersionGuid}\DynamicConfiguraiton.xml

Page 52: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Dynamic Configuration

Page 51 of 61

b. Deployment Configuration File:

C:\ProgramData\Microsoft\AppV\Client\Catalog\Packages\{PackageGUID}\{VersionGUI

D}\DeploymentConfiguration.xml

5. The contents of the file are copied into the PowerShell script.

6. The ConfigMgr administrator creates a configuration item and baseline for the new package

using the PowerShell script.

7. The ConfigMgr administrator deploys the baseline to the correct collection of users or systems.

The main advantage to this method is the reusability of the script. The entirety of the script can remain

the same, only the variables containing the new configuration file, the package and version GUID need

to be changed when a new file needs to be distributed. This method will require more configuration

items and baselines if a package has multiple deployments using multiple different configuration files

because the entire file contents are being replaced.

Packages / Script Deployment Type This third method performs updates of Dynamic Configuration files utilizing Configuration Manager

packages or applications with script deployment types. This eliminates the need to find and modify an

already existing file, or compare existing files. The application or package can then be targeted to

machines known to have a specific application. With this method, the source would contain the

configuration files that need to be updated and a script that would complete the upgrade process. This

script would then be called in a package program, or application deployment type, to update an App-V

Dynamic Configuration. These methods enable the replacing of the whole file with the new and tested

version of the Dynamic Configuration files.

Update the Application Deploy changes to the Dynamic Configuration files by updating the App-V package in the sequencer and

modify the required Dynamic Configuration files. Update the App-V Package with the new dynamic

configuration files utilizing supersedence. Opening the App-V package with the sequencer and resaving

without making changes will update the version GUID on the package and will identify it to

Configuration Manager as a new version. During the update the entire App-V file as well as the updated

Dynamic Configuration files are downloaded. During the update the user and/or deployment

configuration files will be reapplied. The following steps outline this process:

1. Copy the App-V application to an App-V 5.0 Sequencer.

2. Create a new folder that will contain the updated application.

3. Open the App-V Sequencer.

4. Click File > Open.

5. In the wizard that opens, select Edit Package. Click Next.

6. Click Browse and select the AppV file copied in step 1.

7. Click Edit.

Page 53: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Dynamic Configuration

Page 52 of 61

Figure 15: App-V Package and Version GUIDs

The App-V package is now opened in the App-V Sequencer. Take note of the Package Version GUID.

8. Select File > Save As. Browse to the empty folder created above. Click Save.

9. Once the application has saved, notice the Package Version GUID has changed.

10. Close the Sequencer.

Figure 16: App-V file version incremented

Page 54: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Dynamic Configuration

Page 53 of 61

Notice that both versions of the Application are identical, or nearly identical. The only changes being

made in the sequencer is the App-V files appended with a file version.

11. Make any changes to the User and/or Deployment configurations.

12. Copy the Source files back to Configuration Manager, into a unique directory in the source

structure.

13. Perform a normal Update, Supersede and Re-Deploy process without choosing uninstall.

When the update is performed on the client machine all users settings are retained, and the user

and/or deployment configuration files are updated. This requires creating an additional directory

for each version of the updated Dynamic Configuration files.

Note: This solution will re-download the entire APPV file each time the update is made.

Page 55: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Virtual Environments

Page 54 of 61

Virtual Environments Configuration Manager 2012 virtual environments combine App-V packages that have been, or will be,

deployed separately into a common virtual environment. A virtual environment defines a set of rules

that determine when an App-V connection group should be created. Applications are allowed to be in

multiple virtual environments to allow a single package to communicate with multiple, separate

applications.

Virtual Environments are delivered outside of the App-V package deployment and use AND/OR logic,

allowing connection groups to be created before all packages are published on the system. This is not

the case in an App-V full infrastructure. In App-V full infrastructure, connection groups automatically

publish all of the members (packages) of a connection group to the client prior to building the

connection group. In a scenario where a missing application is delivered to the device at a later time, the

application will be added to the resultant connection group based on the virtual environment criteria.

Virtual environments are implemented by creating and modifying App-V connection groups on a client.

A connection group enables complete communication between multiple App-V packages. The packages

in the common virtual environment are not isolated from each other, which enables dependent

applications (Line of Business and JRE) or better-together (Office 2013 and Visio 2013) full

communication.

How does it differ from a Connection Group? Connection groups are how virtual environments are implemented on a client. A virtual environment in

Configuration Manager only defines the different applications an administrator wants to combine. When

a client computer meets the requirements of a virtual environment, a connection group is created on

the client for those applications.

Creating Virtual Environments Virtual environments can contain any number of applications, combined using AND / OR logic. By

combining applications using the AND operation, the virtual environment will only be created when all

the applications in the virtual environment are present on the client. By combining applications using

the OR operation, the virtual environment will be created when two of the applications exist on the

machine , and will be continually modified every time a new application is installed that is also contained

in the virtual environment. A virtual environment can be created using both operands, it is not limited to

using one or the other.

Scenario – Better Together A ConfigMgr admin has been given two new applications to add to the Software Library; Office 2010 and

Visio 2010. The ConfigMgr admin knows that these two applications work better together when

integration is allowed. The admin also knows that because App-V puts applications into their own

execution environment, a virtual environment must be created in order for the integration between the

two products to work. To complete this, the administrator completes the following steps:

1. In the Configuration Manger 2012 console, navigate to Software Library > Applications >

select App-V Virtual Environments.

2. From the ribbon, select Create Virtual Environment.

3. Fill out a Name as Office 2010 and Visio 2010.

Page 56: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Virtual Environments

Page 55 of 61

4. Under App-V Deployment Types: click Add…

5. In the Group Name type Office 2010.

6. Under Applications click Add.

7. In the Specify Application window browse to the virtualized Office 2010 package.

Note: Only App-V 5 applications are shown in this window.

8. Click OK, and click OK again.

9. Repeat steps 4-8, select Visio 2010 instead of Office 2010.

Figure 17: Virtual Environment Creation

Notice the two applications are now in the virtual environment and they are combined using the

AND operations. This means a connection group on the client will only be created when both of

these applications are present of the machine.

10. Click OK to complete the creation of the virtual environment.

The virtual environment will be created on the machine when both applications are installed, or if the

applications already exist on the client, the group will be created the next time the client evaluates its

installed applications. The following steps are run by the Configuration Manager client to create a virtual

environment:

Page 57: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Virtual Environments

Page 56 of 61

1. The Configuration Manager Client discovers App-V 5 applications that meet the requirements of

a virtual environment.

2. A connection group XML file is generated that defines the conditions of the group.

Code Example 8: Sample Connection Group XML Generated by Configuration Manager

<appv:AppConnectionGroup

xmlns:appv="http://schemas.microsoft.com/appv/2010/virtualapplicationconnectiongroup" AppConnectionGroupId="c6477598-29a9-4677-8ea2-70aa4e8a04ea" VersionId="4771D00E-E312-4AB0-A1BD-78989282D49F" Priority="4294967294" IgnorableNamespaces="" DisplayName="Office 2010 and Visio 2010"> <CustomData

xmlns="http://schemas.microsoft.com/appv/2010/virtualapplicationconnectiongroup"> ScopeId_9644276E-DD83-4F11-B8A9-5171F0EB355B/VirtualEnvironment_289a32d7-1c48-

44d6-bb75-9b742fca6ede

</CustomData> <appv:Packages>

<appv:Package PackageId="f453a898-efdc-40e2-8c64-c2fd7aa4d4e9"

VersionId="51de5c97-e889-4ee6-bef4-552a44164d40"/>

<appv:Package PackageId="4a8697df-28d1-4f56-b983-7d5d97e234a1"

VersionId="bbd7d477-12a0-4c37-a60b-410ad1403c29"/>

</appv:Packages> </appv:AppConnectionGroup>

Notice that each package in the connection group is listed in the XML. The order in which the packages

are listed determine the precedence of package operations performed while in the connection group.

3. The Configuration Manager client issues the following PowerShell commands to create the App-

V connection group:

Code Example 9: Configuration Manager creation of Connection Groups

Add-AppvClientConnectionGroup -Path 'C:\Windows\CCM\SystemTemp\AppVTempData\ConnectionGroup_{GroupIDGuid}.xml Enable-AppvClientConnectionGroup -GroupId {GroupIDGuid} -VersionId {VersionIDGuid}

User Settings and Virtual Environments User settings from App-V applications will not be migrated into a virtual environment. Similarly, once an

application is removed from a virtual environment, the user settings will not be propagated back to the

standalone package. If a user has personalized any of the applications prior to the delivery of the virtual

environment from Configuration Manager, any personalization is lost. The same situation occurs when

applications leave a connection group.

Page 58: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Migrating Applications from 4.6 to 5.0

Page 57 of 61

Migrating Applications from 4.6 to 5.0 Migration from a Configuration Manager 2012 environment with App-V 4.6 and deployed packages is a

straightforward process. The deployed App-V 4.6 application is migrated into the App-V 5.0 format

utilizing the PowerShell Module AppVPkgConverter available on the App-V 5.0 Sequencer. Since not all

App-V 4.6 packages can be converted, any applications with the App-V 5.0 Sequencer that do not

successfully convert will need to be re-sequenced. For more information read the App-V 5.0 Sequencing

Guide.

After conversion, new App-V 5.0 applications are created in Configuration Manager and supersede the

App-V 4.6 application with the Uninstall option. This will first remove the App-V 4.6 application and

then install the App-V 5.0 application. When migrating from 4.6 to 5.0, user personalization to a

package will be lost. For more information, visit the Updating, Superseding, and Re-deploying section of

this document.

Important: When utilizing the uninstall option with supersedence, if the application being superseded

is in use, the uninstall operation will fail causing the deployment to fail. This reports “Virtual

application is currently in use” in the ConfigMgr console. When this occurs, the ConfigMgr client will

reattempt the deployment every 2 hours, a maximum of 10 times, and then every 7 days.

Alternatively, the converted App-V 5 applications can be Deployed (without supersedence) and then the

App-V 4.6 packages deployed an uninstall action. This solution publishes the App-V 5.0 package and

takes over the extension points even when the App-V 4.6 application is in use, but would require a

separate uninstall deployment for the App-V 4.6 application after the administrators have ensured that

the targeted objects for the App-V 5.0 applications have been received.

Migration from App-V Full Infrastructure or Standalone MSI to Configuration Manager This section lists the steps required to migrate from an existing App-V Full Infrastructure to application

virtualization management with Configuration Manager.

The first step is planning for the migration from the previous App-V deployment method into

Configuration Manager. Start by rationalizing the current App-V application catalog to determine which

applications should be migrated to Configuration Manager by evaluation of usage and recent

deployment. Next, evaluate how the applications are targeted in the App-V Full infrastructure, which

typically uses application or organizational groups. Since Configuration Manager requires collections for

targeting, ensure that current collections are utilized instead of creating new collections. Also, note that

for Configuration Manager 2012, there may be existing Deployment Types for applications that are

traditional MSI, and the App-V versions should be an added deployment type to take full advantage of

the application model.

Once the migration strategy has been developed and the App-V Clients have the Configuration Manager

Client installed, the migration process can commence. The triggering activity for Configuration Manager

App-V application management is the first deployment of an App-V application to an App-V Client.

Existing App-V applications that were delivered by an App-V Full Infrastructure remain, but are no longer

managed by the App-V Management Server. The App-V applications must be managed by Configuration

Manager for all future management tasks.

Page 59: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Migrating Applications from 4.6 to 5.0

Page 58 of 61

1. Create applications from the existing App-V catalog as well as aligning with traditional installations

as additional deployment types assigning any necessary requirements, dependencies, and other

application model metadata.

Note: Virtual environments must be created with the same members and in the same order. If the

virtual environments are not created as the App-V Full Infrastructure, all of the user settings from

the previous connection group will be lost.

2. Distribute the content to the appropriate distribution points to enable local delivery of applications.

3. Create collections and deployments to target virtual application delivery to clients. Utilize any

preexisting collections in the infrastructure where applicable.

4. Configuration Manager application deployments and client policies are evaluated and the App-V

applications are re-deployed to clients via Configuration Manager.

Note: It is not necessary to re-sequence all existing virtual application packages to deploy them with

Configuration Manager.

Note: If the applications were previously delivered as MSI-based delivery, each matching MSI

application must be uninstalled before re-deployment of App-V virtual applications.

Page 60: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Reporting

Page 59 of 61

Reporting Configuration Manger provides reporting of App-V applications utilizing WMI classes for App-V and

reports through hardware inventory. By default the App-V reporting is disabled and must be enabled by

the administrator and enough time must be allowed for a hardware inventory to gather data prior to

running any App-V specific reports. These reports show which computers have been deployed a specific

application version, along with information regarding the creation of virtual environments.

Enabling App-V Reporting in Configuration Manager Configuration Manager does not by default report on App-V. Follow the steps below to enable

reporting:

1. In the Configuration Manage console, navigate to Administration workspace.

2. Select Client Settings.

3. Select Default Client Settings.

4. From the ribbon, click Properties.

5. On the left hand side, select Hardware Inventory.

6. On the right hand side, click Set Classes…

7. In the window that opens, notice the two classes; AppV Client Application, and AppV Client

Package. These classes are used for App-V reporting.

Figure 18: Enabling App-V Reporting

8. The properties in bold are the minimal required properties in order to start reporting on the

class. Select any additional properties.

9. Click OK Click OK.

Clients will begin to report data on their next hardware inventory cycle. The reported data is

then available in the Resource Monitor and for writing custom reports.

Page 61: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Reporting

Page 60 of 61

Virtual Environment Reports New reports are available in ConfigMgr SP1 for reporting on virtual environments. These reports allow

an administrator to view the status and results of deployed virtual environments. These reports are

located in the Monitoring workspace, under Reporting > Reports > Virtual Applications.

Page 62: Integrating Virtual Application Management with App-V 5 ... · Reasons for Integrating Configuration Manager and App-V Page 8 of 61 Reasons for Integrating Configuration Manager and

Troubleshooting ConfigMgr and App-V

Page 61 of 61

Troubleshooting ConfigMgr and App-V App-V applications are distributed to clients like normal applications and problems can be discovered by

reviewing the normal ConfigMgr client logs. For more information on ConfigMgr client logs, please read

the following article: http://technet.microsoft.com/en-us/library/hh427342.aspx

Beyond the client installation, distribution, and the normal application reports available in Configuration

Manager, there are additional App-V specific logs that can be used to troubleshoot App-V application

issues.

Configuration Manager The Configuration Manager 2012 Client includes the following log files to record state information.

These logs are located in C:\Windows\CCM\Logs\

• AppEnforce.Log

o Details all the PowerShell commands that are run to either Publish or Unpublish and

Mount an App-V application or Virtual Environment from a system.

o Commands for creating virtual environments are also included in this log.

• VirtualApp.Log

o Details information specific to the evaluation of App-V deployment types. Also

outlines streaming configurations.

App-V • All App-V 5.0 log files are located in the Event Viewer: Application and Services Logs >

Microsoft > App-V > Client. These logs are specific to the App-V client and can be used to

determine problems with a specific App-V package issue.

o Admin

o Operational

o Virtual Applications


Recommended