Deploying Microsoft App-V 5 and Citrix XenDesktop 7

Preview:

Citation preview

Deploying Microsoft App-V 5 and Citrix XenDesktop 7David Wagner, Citrix Product ManagerMatthijs Gates, Microsoft Program Manager

WIN-B215

Objectives & TakeawaysSession ObjectivesReview App-V 5.0 SP2 Spring UpdateProvide an overview of XenDesktop/XenApp 7 integration with App-V 5.0

Key TakeawaysApp-V 5.0 SP2 Spring Update includes numerous innovations, improvements, and how-to guidelinesApp-V 5 exposes an integration interface for 3rd party products for all App-V componentsXenDesktop/XenApp 7 has seamlessly integrated with App-V 5

Agenda• Our latest release includes improvements in existing

capabilities, enhanced publishing and launch, detailed guidelines and how-to documentation

App-V 5.0 SP2 Spring Update

• Overview of how 3rd party products integrate with App-V 5Integrating with App-V 5

• Deep dive into how XenDesktop/XenApp 7 integrated with App-V 5

XenDesktop/XenApp 7 and App-V 5

• Citrix is helping XenDesktop/XenApp customers migrate from Citrix Application Streaming to Microsoft App-V 5

Migrations and Conversion from CAS to

App-V 5

App-V 5.0 SP2 Spring Update

App-V 5.0 SP2 Spring Update

Innovations Improvements

More Guidance

• Streamlined Publishing and Launch

• Improved first launch performance

• Support for a VFS write mode Sequencer setting

• Updates made to App-V Sequencer and App-V Package Converter

• App-V Performance Guide

• App-V Publishing Guide

• Updated Administration and Sequencing Guides

Innovations to Publishing and LaunchInnovation DescriptionSmaller Publishing Feature Block

• Sequencer automatically saves a small Publishing Feature Block (FB0)

• Less data is needed to add and publish a virtual application

• Faster response for the userMore Streamlined First Launch

• First launch tuned for Stream Faulting• Launch path has been optimized• More efficient App-V package metadata

retrievalMore Optimal Disk IO • Disk IO has been streamlined

• Batched disk IO operations• Read-ahead improvements

Improvements to Existing CapabilitiesImprovement DescriptionFull VFS Write Mode • For the virtualization of applications that

require write-access to specific directories• Simple Sequencer checkbox• Applied by the App-V Client when the App-V

package is deployedApp-V 4.6 to App-V 5 Package Converter Improvements

• Improved package conversion success rates• Better Q-drive detection and warnings• More verbose and actionable reporting and

loggingShortcuts to Applications on the Network

• For shortcuts to applications on a network share

• User-credentials are used to access the application

• Simple inclusion of shortcut into App-v package

More Deployment Guidance and How-To GuidesGuidance DescriptionDon’t use FB1 • Recommended best practice

• 100% Stream-faulting for optimal launch performance

• Guideline is for sequencing the applicationRoam User Publishing State

• For Pooled VDI and RDSH deployments• Applications are published once• Subsequent logins restore the user state

(publishing)Prep the Baseline VM

• Pre-add select App-V packages• Pre-publish select global App-V packages• Tune to your deployment

Use Shared Content Store (SCS) Mode

• Used in low-latency deployments• Optimal launch performance• Optimal disk space usage

Additional Updates DescriptionSequencer supports Save As

• Simplifies the creation of App-V packages with new lineage

• Test upgraded packages side-sideBetter registry type support

• Dynamic Deployment Configuration• More types: DWORD, QWORD, MULTI-SZ

Very large application support

• Sequencer runtime optimization• Support Sequencing very large virtual

applicationsBug fixes • Several bug fixes

• All App-V components

App-V 5.0 SP2 Spring Updates

Best PracticeShared Content Store (SCS) modeLarge applications: pre-add and pre-publish App-V packages

Tune the Deployment

App-V 5.0 SP2 Spring UpdateConfigure Base Image for Optimal Performance in Pooled VDI

Optimized for Speed• Pre-add packages

Optimized for Storage• Only Pre-add globally-published packages

App-V 5 Spring 2014 UpdateUse Shared Content Store Mode in Pooled VDI and RDSH

Shared Content Store Mode

FB0: Publishing Data

Rest of App-V Package

App-V Package

• 3-5% of App-V Package Size• Use in Low-Latency Networks• Network Bandwidth Depends on

Application Payload

App-V 5.0 SP2 Spring Update: Publishing State Registry

Changes under HKCU\Software\ClassesHKCU\Software\Microsoft\AppVHKCU\Software\Microsoft\Windows\CurrentVersion\App Paths

File%APPDATA%\Microsoft\AppV\Client\Catalog%APPDATA%\Microsoft\AppV\Client\Integration%APPDATA%\Microsoft\Windows\Start Menu\Programs

App-V 5 Spring 2014 UpdateOptimized Publishing Performance: User Login

Logi

n In

itiat

edUser State Restored

Publ

ish/R

efre

shFor each app• Catalog• Integration• HKCU

Logi

n Co

mpl

etesApplication

s ready for use

1st Time User Login

Logi

n In

itiat

edUser State restored

Publ

ish/R

efre

shno updates

Logi

n Co

mpl

eteApplicatio

ns ready for use

Subsequent User Logins

Logi

n In

itiat

edUser State restored

Publ

ish/R

efre

shno updates

Logi

n Co

mpl

eteApplicatio

ns ready for use

Logi

n In

itiat

edUser State restored

Publ

ish/R

efre

shno updates

Logi

n Co

mpl

eteApplicatio

ns ready for use

Logi

n In

itiat

edUser State restored

Publ

ish/R

efre

shno updates

Logi

n Co

mpl

eteApplicatio

ns ready for use

Demo

Shared Content Store Mode

Integrating with App-V 5

Integrating with App-V 5: PowerShell

App-VSequencer

App-VServer

App-VClient

App-V 5.0 PowerShell CmdLets: App-V Client Get-AppvVirtualProcessStart-AppvVirtualProcessAdd-AppvClientConnectionGroupAdd-AppvClientPackageAdd-AppvPublishingServerDisable-AppvClientConnectionGroupEnable-AppvClientConnectionGroupGet-AppvClientApplicationGet-AppvClientConfigurationGet-AppvClientConnectionGroupGet-AppvClientModeGet-AppvClientPackageGet-AppvPublishingServerMount-AppvClientConnectionGroupMount-AppvClientPackagePublish-AppvClientPackageRemove-AppvClientConnectionGroup

Remove-AppvClientPackageRemove-AppvPublishingServerRepair-AppvClientConnectionGroupRepair-AppvClientPackageSend-AppvClientReportSet-AppvClientConfigurationSet-AppvClientModeSet-AppvClientPackageSet-AppvPublishingServerStop-AppvClientConnectionGroupStop-AppvClientPackageSync-AppvPublishingServerUnpublish-AppvClientPackage

Considerations When Using PowerShellPowerShell Module Load

Time• Load once• Keep it loaded

Using the API• Use the .NET PowerShell API• Calling PowerShell.exe is slower

Certificate Revocation List (CRL)• Configure your Infrastructure• Unreachable CRL will slow module

load

XenDesktop/XenApp 7 App-V 5 Integration

Publishing Apps Wizard

Both local and App-V 5 apps published the same way

Published App List

If you change config in App-V Mgt

Server, must refresh apps in Studio

Configuring App-V 5 Components in Studio

Featured Apps …

… and All Apps

Launching the app …Users launch apps from Search function or ReceiverSearch will have all apps

Receiver determines best launchHosted versus local (App-V local)

Integration Details

Design and ComponentsApp-V Management

Server

App-V Publishing Server

Citrix App-V SDK for Studio

Citrix App-V VDA deliverable

Citrix Studio

Broker

VDA

New Components Microsoft Components Existing XD components

App-v Client

Citrix App-V SDK for Studio

VDA(with App-V client)

Citrix PoSH Module for App-V 5Citrix.Appv.Admin.V1 installed /registered w/ StudioCitrix Studio loads Citrix.Appv.Admin.V1 using Add-PSSnapin Installed: Citrix\StudioAppVIntegration\SnapIn\Citrix.AppV.Admin.V1\

cmdlets available through low level SDK implemented in CtxAppVStudio.dll:New-CtxAppVServerGet-CtxAppVServerTest-CtxAppVServerGet-CtxAppVApplicationGet-CtxAppVApplicationInfoConvertTo-CtxAppVLauncherArg

Citrix App-V SDK for Studio

App-V 5 Configuration

Don’t forget to Enable-PSRemotinghttp://technet.microsoft.com/en-us/library/hh849694.aspx http://technet.microsoft.com/en-us/magazine/ff700227.aspx

New commandlets XD 7.1XD 7.1 has introduced two new powershell cmdlets on the Citrix Studio side – Get-CtxAppvServerSettingsSet-CtxAppvServerSettings.

Set-CtxAppvServerSettings –AppVPublishingServer <servername> -UserRefreshOnLogon $false

Add Additional Pub or Mgt Servers$appvslot = Get-BrokerConfigurationSlot -Name "AppV"

$policy = New-CtxAppVServer –PublishingServer “http://pub-svr.domain.com” –ManagementServer “http://mgmt-svr.domain.com”

New-BrokerMachineConfiguration -ConfigurationSlotUid $appvslot.Uid -Description “added manually” -leafName 2 -Policy $policy ###leafname should be a unique number####

Add Additional Pub or Mgt Servers$mc = Get-BrokerMachineConfiguration –Name “AppV*” | %{$b = Get-CtxAppVServer –ByteArray $_.Policy;if(($b.managementServer –eq “http://mgmt-svr.domain.com”) –and ($b.PublishingServer –eq “http://pub-svr.domain.com”)){$_}}

$dg = Get-BrokerDesktopGroup -Uid $DesktopGroupID or $dg = Get-BrokerDesktopGroup -Name $DesktopGroupName

$mc | Add-BrokerMachineConfiguration -DesktopGroup $dg

Citrix Policy commandletshttp://support.citrix.com/proddocs/topic/citrix-appv-admin-v1-xd7/citrix-appv-admin-v1-wrapper-xd7.html Get App-V ConfigGet-BrokerMachineConfiguration –Name “AppV*” | %{Get-CtxAppVServer –ByteArray $_.Policy}

Get App-V Config for Specific Delivery GroupsGet-BrokerMachineConfiguration | %{foreach($a in $_.DesktopGroupUids){if($a –eq $dguid){Get-CtxAppVServer –ByteArray $_.Policy}}}

Precedence of settingsCtxAppVServerSetting object is independent of the AppvpublishingServer objectThe Set-CtxAppvServerSetting cmdlet pushes the settings to all the associated VDAsIf publishing server settings are changed directly in VDA, they won’t be reflected in Studio (Studio uses Get-CtxAppvServerSetting)

To permanently change the publishing server settings on VDA use Set-CtxAppvServerSetting cmdlet in StudioIf changing the publishing server settings on VDA, the settings will be replaced by studio settings when VDA reboots

Policy Precedence

Policy Precedence

Precedence: GPO and Citrix PolicyUses a LogicalOR …

Pub. Svr. Setting GPO setting Desktop Studio Setting

Effective setting

Global Refresh Enabled

True False True

Global Refresh on Logon

True False True

User Refresh Enabled True True True

User Refresh on Logon

True True True

App-V 5 VDA Integration ComponentsCtxAppVLauncher.exeUsed to launch the App-v apps on the VDA

PzVirtAppPlugin.dll (Broker-Agent plugin)The data about the Publishing Server configuration will be pushed down to the VDA using the XD Slots and Blobs mechanismReceives notifications when the policy data is pushed down into the registryOn receiving the notification, it would spawn the PzVirtAppComServer.exe and call the interface for configuring the Publishing Server

PzVirtAppComServer.exeThis is an on demand Out of Proc COM serverUsed to configure App-v publishing server settings on client

Citrix App-V VDA deliverable

How XD launches App-V 5 appsCtxAppVLauncher publishes as a Local AppBroker sends PS and App-V app specific AppID/Package GUIDICA launches CtxAppVLauncher (managed application) with this information

Syncs all packages if it fails to detect the PackageSynchronizes with the App-V 5 Publishing server for visibility to the App-V 5 Client

CtxAppVLauncherCtxAppVLauncher.exe is written in a way to trigger the command Sync-AppVPublishingServer –ServerId <>, and wait for its outputLaunches app after confirming the app is ready

CtxAppVLauncher.exe is capable on its own to SYNC everythingThis also means all Connection Groups required If app is already present and ready, it will avoid invoking a SYNC command.

CtxAppVLauncher command lineCtxAppVLauncher.exe "HASHED<APPID> + HASHED<PUBLISHINGSERVER> + PACKAGEGUID|ISINTARGET|APPLICATION NAME”

SYNC TroubleshootingUntil App-V 5.0 SP2, multiple SYNCs couldn’t be run synchronouslyWhen a user launched an app, CtxAppVLauncher.exe triggered a Sync (Sync no. 1)If UserLogonRefresh is set to TRUE, the App-V Client will issue a Sync (Sync no. 2). This often resulted in CtxAppVLauncher’s issuing a sync fail and an App Launch failure

http://blogs.citrix.com/2014/01/06/app-v-server-sync-failure/http://support.citrix.com/proddocs/topic/xenapp-xendesktop-75/app-v-troubleshooting.html

Migration and Conversions

Script FunctionalityLeveraging the Sequencer PoSH commandlets

Basic Usage

Add to App-V

LimitationsNo rules support – recreate in the App-V packageScripts will have to be recreatedPre-launch analysis also requires being recreatedSome effort required for IIC – in App-V 5 these are Connection GroupsConvertor converts Top Level profile only and creates empty sequences on Minimal IICIt is recommended to remove minimal IIC profiles from the AppHubMinimal IIC profiles do not have any applications but just links 2 CAS profiles

PoSH script for Hyper-V 2012 R2Retrieves a list of CAS profiles and runs the conversion utility …

PoSH script for Hyper-V 2012 R2… then rolls back to snapshot and processes next CAS profile

Demo

Migrating to App-V 5.0

Windows Enterprise windows.com/enterprise windowsphone.com/business  

Windows Track Resources

Windows Springboard microsoft.com/springboardMicrosoft Desktop Optimization Package (MDOP)

microsoft.com/mdop Windows To Go microsoft.com/windows/wtgWindows Phone Developer developer.windowsphone.com

Related ContentBreakout Sessions/Hands on LabsWIN-B215: Deploying Microsoft App-V 5 and Citrix XenDesktop 7 – Thursday 14:45WIN-B318: Deploying Microsoft BitLocker Administration and Monitoring (MBAM) 2.5 – Monday 15:00WIN-B330: Everything You Need to Know for a Successful Office 2013 Deployment on App-V Deployment – Tuesday 15:15WIN-B331: UE-V: Keeping a personalized experience across Virtual & physical environments – Tuesday 15:15WIN-B355: The Circle of Life for an App-V 5.0 Package: From Sequence to Termination – Thursday 13:00WIN-B360: Sizing App-V 5: Planning and Designing a Highly Available, Scalable, and Resilient Management and Delivery System – Thursday 14:45WIN-B362: Project Virtual Reality Check: Microsoft App-V 5 Performance, Tuning, and Optimization (App-V PTO) - Thursday 10:15

WIN-H309: Implementing App-V 5 in Microsoft System Center 2012 R2 Configuration Manager

Windows Enterprise windows.com/enterprise windowsphone.com/business  

Windows Track Resources

Windows Springboard microsoft.com/springboardMicrosoft Desktop Optimization Package (MDOP)

microsoft.com/mdop Windows To Go microsoft.com/windows/wtgWindows Phone Developer developer.windowsphone.com

ResourcesLearning

Microsoft Certification & Training Resourceswww.microsoft.com/learning

msdnResources for Developers

http://microsoft.com/msdn

TechNetResources for IT Professionals

http://microsoft.com/technet

Sessions on Demandhttp://channel9.msdn.com/Events/TechEd

Complete an evaluation and enter to win!

Evaluate this session

Scan this QR code to evaluate this session.

© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Recommended