Application Virtualization Hands-On-Lab Nicola Ferrini info@nicolaferrini.it Who Am I ? Nicola Ferrini Trainer Technical Writer Systems Engineer Server & Application Virtualization Technology Specialist • Technet Speaker • Microsoft System Center Influencer • More on: • • • • o http://www.nicolaferrini.it/curriculum.shtml o http://www.windowserver.it/ChiSiamo/Staff/tabid/71/Default.aspx Introduction • • • • • • • Name Company affiliation Title/function Job responsibility Application Virtualization experience Server management experience Your expectations for the Hands-on-lab Hands-on-lab Outline • Optimizing Windows Desktop Management in the Enterprise • Microsoft Application Virtualization Management System: Introduction and Architecture • Planning and Installing the Microsoft Application Virtualization Client • Administering the Application Virtualization Management Server • Advanced Application Virtualization Administration Tasks • Planning and Deploying the Application Virtualization Sequencer • Advanced Sequencing Microsoft Desktop Optimization Pack Feature Description Microsoft Enterprise Desktop Virtualization Enable legacy applications and accelerate upgrades to a new operating system Microsoft Application Virtualization Dynamically stream software as a centrally managed service Microsoft Asset Inventory Service Translate software inventory into business intelligence Microsoft Diagnostics and Recovery Toolset Powerful tools to accelerate desktop repair Microsoft Advanced Group Policy Management Enhance group policy through change Management System Center Desktop Error Monitoring Proactively manage application and operating system failures Microsoft Application Virtualization Dynamically delivering the virtual application solution • Applications to users at log on • Accelerates desktop deployment • Centralized permissions • Minimizes application coexistence testing • Sandboxed applications • Runs real-time usage reports • Enables device roaming Requirements: • Server components require Windows Server 2003 or later • Requires SQL 2000 or later • Client requires Windows XP or later • Certain components require .NET Framework 2.0 Microsoft Application Virtualization Management System: Introduction and Architecture What Is Application Virtualization? Operating System Read Only System Files (Registry, .ini, DLL, etc.) Read & Write Read & Write Application System Services (cut and paste, OLE, printers, etc.) Virtual Environment (Registry, .ini, DLL, Group Policy, etc.) Read & Write Profile Data Application Management Lifecycle Packaging Monitoring/ Asset Management Business Continuity Management Testing will effect multiple stages in the lifecycle Deployment Updates Termination Support Application Deployment Deploying Deploy • No client installs • No client footprint • No wasting resources • Pre-configuration of applications Application Packaging Each published application contains: •.osd file – Open Software Description "link" files •.ico file – Icon file Each package contains: •.sft file – Microsoft Application Virtualization-enabled application •.sprj file – Microsoft Application Virtualization project file Manifest.xml •Manifest.xml - Used in package distribution Application Updates Updates Update • Update once on server • Seamless update to clients Application Support Support Support • Reduced application conflicts • Reduced help desk calls • Increased license compliance Application Termination Terminate Termination • Centrally deactivate the application Reduces Common Deployment and Management Problems Manifest.xml Application Virtualization packages contain the complete environment for the application Applications in a suite can share the environment Manifest.xml Potentially conflicting applications have their own environment Delivering Pre-Configured Applications • Sequencing engineer builds the package and configures the application to address user requirements Running Multiple Versions of a Single Application on the Same Computer • Each application runs in its own Virtual Environment, which allows different applications to share the same hardware with two versions of the same application Providing Centrally Managed Application Deployment and Maintenance • The management console is used to connect to the Web service, which is the central component for all Microsoft Application Virtualization On-Demand Delivery • Streams application when requested by user • Application will be streamed either by launching the application or by file invocation • Application Virtualization (App-V) Client reads the .osd file to determine the correct App-V Server to stream the application • App-V Server checks the data store to ensure the user is still entitled to the application and there are available licenses • App-V Server will use the RTSP protocol to stream the virtual application to the client Primary and Secondary Feature Blocks • Package .sft don’t have to be delivered at one time • Sequencer can mark certain blocks of the .sft as critical launch phase or primary feature block (FB1) During initial stream after FB1 is downloaded, application can launch • All other blocks are stored in secondary feature block (FB2) When user accesses feature not in FB1, individual blocks of data are downloaded from FB2 Operation known as Out-of-Sequence Operation • User customized settings are stored in UsrVol_sftfs_v1.pkg and stored in user’s %AppData% Microsoft Application Virtualization Sequencer App-V Management Server and Client Requirements and Interactions • Client for desktops and terminal services • Small footprint • Microsoft Windows XP, Windows 2003 Server, or newer • 12 megabyte (MB) for installation files, at least 2048 MB for cache file Publishing an Application Accessing an Application Administrator Computer Active Directory Management Web Service Data Store Client /Content Application Virtualization Management Server Accessing an Application on a Microsoft Application Virtualization Streaming Server Application Virtualization Client (Windows Desktop or Terminal Server) /Content Microsoft Application Virtualization Management Server /Content Sequencer Microsoft Application Virtualization Streaming Server Planning and Installing the Microsoft Application Virtualization Client Application Virtualization Clients Application Virtualization Desktop Clients Application Virtualization Management Server Terminal Services Desktop Clients Application Virtualization for Terminal Services Application Virtualization Desktop Client Network Application Virtualization Desktop Client Application Virtualization Management Server Application Virtualization for Remote Desktop Services Application Virtualization for Remote Desktop Services LAN Remote Desktop Server Terminal Services Client Network LAN, VPN, Internet Application Virtualization Management Server Minimum Recommended Client Requirements Client For Terminal Servers For Desktop Processor Must meet operating system minimum requirement Must meet operating system minimum requirement Memory 1 GB RAM (minimum 256 megabytes (MB), actual figure dependent on number of users and applications) Disk Space Operating Systems • Microsoft Windows 2003 Terminal Services 12 MB for installation + 4096 MB for cache • Microsoft Windows 2008 Terminal Services • Microsoft Windows 2008 R2 Remote Desktop Services • Microsoft Windows XP 128 MB 12 MB for installation + 2048 MB for cache • Microsoft Windows Vista • Microsoft Windows 7 Key Differences Between Application Virtualization Clients Installation Setup Cache settings Application streaming User Data directory Description • Two differences: default installation location and default cache size • A larger cache is generally required for Terminal Services Client • Recommend the entire content of the .sft file be preloaded into the file system cache for Terminal Services • Uses the %APPDATA% location by default Application Virtualization Client – Applications Application Virtualization Client – File Type Associations Application Virtualization Client – Publishing Servers Command Line Client Configuration – SFTMIME.EXE Administering the Microsoft Application Virtualization Management Server What Is the Applications Container? The Applications Container is used to: • Add or import sequenced applications • Configure virtualization access settings for applications • Organize applications into application groups • Remove applications and application groups Files Used to Add or Import an Application File type.SPRJ Description • Describes which applications are part of a specific .sprj application suite • Contains parse items and exclusions • Is XML-based • Specifies application launch information to the .osd .sft .ico Manifest.xml virtualization client • Provides application virtualization settings • Is XML-based • Up to 4 gigabyte (GB) application storage file • Contains application assets that make up the application • Separated into multiple feature blocks .XML • Is XML-based • Used to represent application shortcut icons • Used in specific streaming infrastructure scenarios to inform clients how to access sequenced applications Considerations for Importing Applications .osd Path • Make sure the path specified in the .osd file matches the content path to the server • Server name may be specified as a system variable For example: Considerations to keep in mind: • Where will the application shortcuts go? • What file type associations will the application use? • Which security groups need access to the application? Importing Applications Import applications by: • Using Action menu option, Import Applications Wizard • Specifying the .sprj or .osd file provided by the Sequencer Demonstration: Importing an Application In this demonstration, you will see how to import an application LAB: Publishing Applications into the Application Virtualization Environment • Exercise 1: Configuring System Options • Exercise 2: Publishing an Application • Exercise 3: Verifying Application Virtualization Functionality Modifying Published Applications and Configuring Version Upgrades • • • • • Modifying Imported Applications Configuring File Type Associations What Is a Package? Overview of the Active Upgrade Process Retiring a Package Version Modifying Imported Applications • Allows administrators to change options defined during the initial application import Overview of the Active Upgrade Process Sequencing administrator provides updates to the application package 1. Select package to be updated, and then add new version 2. Type in updated .sft file path 3. Type in the relative path 4. Confirm package 5. Ask client to reload application Retiring a Package Version • To retire a package version, delete the version of the package no longer in use LAB: Configuring Active Upgrades for Published Applications • Exercise: Configuring Package Versions Planning and Deploying the Application Virtualization Sequencer What Does the Application Virtualization Sequencer Do? Application Virtualization Sequencer: • Packages applications that are deployed to desktops and Terminal Servers and run by the Virtual Application Client • Prepares applications that are streamed from a Virtual Application Server • Packages the application into an MSI package for distribution using a software deployment platform such as System Management Software (SMS), or System Center Configuration Manager (SCCM) Communication Between Virtual Environments Virtual Environment Virtual Environment • Virtual environments are isolated from each other • Basic copy and paste is available between virtual environments, and is facilitated by the Virtual Application Client • Dynamic Suite Composition is the only exception that allows communication between virtual environments Virtual Application Client Clipboard Operating System Local Application Overview of the Sequencing Process 1. Standard installation process is monitored by Sequencer to discover: • Files • Registry entries • INI files • Environment variables 2. Changes are packaged into a virtual environment 3. Application is executed to determine initial startup requirements 4. Application is sequenced, and .sft, .sprj, .ico, .osd, and Manifest.xml files are generated 5. Virtualized application is moved to the Application Virtualization Server, and then tested Application Virtualization Server Components of a Sequenced Application • .sft file contains the sequenced Windows® application • .sprj XML-based text file contains parse items and exclusions for application suites • .ico files used for application shortcuts to .osd files • • .osd provides necessary information to launch the application Manifest.xml stores information about the application, and is used by Application Virtualization Streaming Servers Considerations Related to the Sequencer Environment • Use a clean operating system install • Sequence on the lowest operating system version used in the target environment • Do not install monitoring agents or antivirus-type software, or any software that runs background tasks • Reset environment after each package is created Typical Configuration for the Sequencer C:\ drive (NTFS) • Operating System • Service Packs Q:\ drive (NTFS) • Application Installation Path • Package Root Directory (8.3 format) • Install Files for Application Best Practices for Sequencing • Perform local install first • Document install process • Do not apply compression and keep block size to 32KB • Install path using 8.3 • Disable the program’s automatic update feature while the application is being sequenced • Complete the application configuration while the Sequencer is still monitoring, post-installation naming convention • Set application components • Always reply “Yes” when asked to reboot Overview of Sequencing Wizard • The Virtual Application Sequencer provides a wizard that can be used to sequence most applications Package Information Monitor Installation Add Files Sequence Package Launch Applications Configure Applications • Creating a new package launches the Sequencing Wizard, which guides you through the proper wizard sequence for package creation Sequencing Wizard - Package Information Sequencing Wizard – Monitor Installation Click Begin Monitoring and install the application to the Q:\Package Root directory. Sequencing Wizard – Add Files to Virtual File System • Add additional files here to the VFS that may not have been captured during monitoring Sequencing Wizard – Configure Applications 1. Review programs that were detected by the Installation Wizard 2. Modify shortcuts / FTA’s 3. Modify application name and icon Sequencing Wizard – Launch Applications Launch any applications you wish to place into FB1 and configure those applications for the default configurations Sequencing Wizard – Sequence Package The virtual environment has been created, and the application has been placed into the virtual environment Manually Modifying the Sequencer Package • You can fine-tune the wizard settings once the package is created • You can add or remove files from the Virtual File System • You can edit the Virtual Registry to remove registry data that may not pertain to the application • You can edit the .osd file before it is packaged Post-Sequencing Steps Save the project to a folder on the Sequencer • Use the same folder name that was specified in the “Package Name” text box in the Package Information page • Transfer files to the Virtual Application Server Application Virtualization Server Overview of the Dynamic Suite Composition • Provides the ability to link applications in separately sequenced packages Legacy Example: • In previous versions of Application Virtualization (formerly SoftGrid), if an application required the Java runtime, every application had to have the Java Runtime Environment (JRE) sequenced into it • With Dynamic Suite Composition, the JRE is sequenced separately, and every application that requires it can reference the JRE package With DSC LAB: Sequencing Applications for Virtualization • Exercise 1: Sequencing an Application Online Resources • Office 2010 – System Requirements: o http://technet.microsoft.com/it-it/library/ee624351(en-us,office.14).aspx • Application Virtualization: o o o http://blogs.technet.com/b/appv/ http://technet.microsoft.com/en-us/library/cc843848.aspx http://www.microsoft.com/italy/server/windowsserver2008/panoramica/introduzione-amicrosoft-application-virtualization.mspx • Prescriptive guidance for sequencing Office 2010 in Microsoft App-V o http://support.microsoft.com/kb/983462/en-us • Office Activation Technologies: o http://technet.microsoft.com/volumeactivation • Office Customization Tool: o http://technet.microsoft.com/en-us/library/cc179097.aspx • Virtualizzare Office 2010 con App-V 4.6 o http://www.nicolaferrini.it/ita/articoli/Virtualizzare Office 2010 con App-V 4.6.pdf Virtual Labs • Application Virtualization o TechNet Virtual Lab: Learning App-V Basics o TechNet Virtual Lab: Learning App-V Intermediate Skills o TechNet Virtual Lab: Learning to Configure App-V for Standalone Client Mode o TechNet Virtual Lab Express: Windows 7: Microsoft Application Virtualization (APP-V) • Remote Desktop Services o TechNet Virtual Lab Express: Windows Server 2008 R2: Remote Desktop Services Thank You!