Upload
others
View
12
Download
0
Embed Size (px)
Citation preview
INTEGRATING VIRTUAL APPLICATION MANAGEMENT WITH APP-V 5 AND
CONFIGURATION MANAGER 2012 SP1
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.
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
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
Introduction
Page 4 of 61
Virtual Environment Reports .................................................................................................................. 60
Troubleshooting ConfigMgr and App-V ...................................................................................................... 61
Configuration Manager ....................................................................................................................... 61
App-V................................................................................................................................................... 61
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.
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
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.
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.
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
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.
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.
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.
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.
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.
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.
Configuration Manager and App-V Interaction
Page 16 of 61
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.
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
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.
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
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
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
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:
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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
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.
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.
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:
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
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.
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.
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
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
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
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.
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.
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.
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
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.
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
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.
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
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.
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.
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:
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.
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.
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.
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.
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.
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