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
SCCM ConnectorNew XA Connector for System Center 2012 & SP1 It only supports XA 6.5 for now…an XD 7 version is in the works
Video overview - http://blogs.citrix.com/2013/03/14/user-centric-application-delivery-with-microsoft-system-center-and-the-xenapp-connector-for-configuration-manager Download - http://citrix.com/downloads/xenapp/components/xenapp-connector-for-sccm-2012.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.