Nidhi Doshi Program Management Microsoft Corporation WCL310.

56

Transcript of Nidhi Doshi Program Management Microsoft Corporation WCL310.

Page 1: Nidhi Doshi Program Management Microsoft Corporation WCL310.
Page 2: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Microsoft Desktop Optimization Pack: Microsoft Application Virtualization 4.5 Sequencing Deep Dive

Nidhi DoshiProgram ManagementMicrosoft CorporationWCL310

Page 3: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Session Overview

App-V and SequencingSequencing Guidelines and PrepUsing the SequencerDeep dive

Customizing packages and virtual environmentDynamic Suite Composition (DSC) tool

Page 4: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Session Objectives And Takeaways

Understand the Sequencing processSee best practices for Sequencing appsLearn methods to customize Sequencing to your environment

Almost any application can be sequenced!

Page 5: Nidhi Doshi Program Management Microsoft Corporation WCL310.

The core concepts of App-V and Sequencing

Theory

Page 6: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Dynamically streaming software as a centrally managed service

DEMSystem Center

OperationsManager 2007

Translating software inventoryinto business intelligence

Enhancing group policy throughchange management

Proactively managing application and operating system failures

Powerful tools to accelerate desktop repair

Simplifying deployment and management of Virtual PCs

New

Page 7: Nidhi Doshi Program Management Microsoft Corporation WCL310.

App-V and Sequencer

Package creation Publish Client

Page 8: Nidhi Doshi Program Management Microsoft Corporation WCL310.

ApplicationModel

RuntimeManagement

StateManagement

LifecycleManagement

ApplicationDescription

App-V Platform

Page 9: Nidhi Doshi Program Management Microsoft Corporation WCL310.

PracticeGetting prepared to Sequence

Page 10: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Sequencing GuidelinesGood candidates for virtualization

Almost all applications are good candidates!

Page 11: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Interface with SystemDevice DriversSystem Software

Use Non-Virtualized Extensibility Points Shell ExtensionsApplication Plug-ins

Embed State or Dependencies Custom Configuration

Follow sequencing best practices

Deploy at runtime or in image Use DSC to add plug-ins

Sequencing GuidelinesCandidates needing an assistance to virtualize

Page 12: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Sequencing PrepSetting up the sequencing station

Start from a system image or use VMRevert to clean state before sequencing

Mirror Client configurationCreate a standard virtualization drive

Page 13: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Sequencing PrepSetting up the sequencing station

Reserve free space (3x Application size)Run Microsoft Update and install patchesDisable Virus Scanners, Defender, Indexing, Update during sequencing

Run Sequencing in an controlled environment

Page 14: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Installation

Launch

Save

Sequencing ProcessThe key activities of producing a package

Page 15: Nidhi Doshi Program Management Microsoft Corporation WCL310.

DemoSequencing is as easy as 1-2-3

Page 16: Nidhi Doshi Program Management Microsoft Corporation WCL310.

TheoryWhat just happened? Looking inside the sequencing process

Page 17: Nidhi Doshi Program Management Microsoft Corporation WCL310.

SFT

PackageFile

OSDs

ApplicationDescription

SPRJ

SequencerProject

ICOs

Shortcutand FTA Icons

Manifest

StandalonePublishing

MSI Setup

StandaloneSetup Utility

MSI

Sequencing OutputsFiles created and relationships

Page 18: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Excluder ClassifierParser

MonitoredData SFT

Demo-PC→%COMPUTERNAME%C:\Windows → %CSIDL_WINDOWS%Q:\LiveMtg\→ %SFT_MNT%\LiveMtg\C:\Users\Demo\ → %USERPROFILE%…

%CSIDL_INTERNET_CACHE%%CSIDL_LOCAL_APPDATA%C:\$Recycle.Bin\…

%COMPUTERNAME% → App%CSIDL_WINDOWS% → App%SFT_MNT%\LiveMtg\→ App%USERPROFILE% → User…

Sequencing ProcessInterpreting collected data

Page 19: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Sequencing ProcessVirtual view

App Data

Client System Data

Merged Virtual View

Override Virtual View

Page 20: Nidhi Doshi Program Management Microsoft Corporation WCL310.

User Machine

App Installation

App Package App Virtual View

Sequencing ProcessFile mappings

Page 21: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Sequencing FAQImprove your sequencing IQ

Q: Do I have to sequence to drive Q:?A: No

Q: Will packages sequenced on XP run on Vista?A: In most cases, Yes.

Q: Will applications with drivers or services sequence?

A: Services generally work. Drivers and unsupported services can be installed locally before App.

Page 22: Nidhi Doshi Program Management Microsoft Corporation WCL310.

But I need moreCustomization

Page 23: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Customizing the OSDHands-on look inside the OSD

What’s in the OSD file?Adding Scripting

Powerful tool to customize packagesEvent based scripts can be run for any package dependencyCan be written in any client installed language

Configuring the VEModifying packages without re-Sequencing

Page 24: Nidhi Doshi Program Management Microsoft Corporation WCL310.

•Pre/Post Stream

•Pre/Post Launch

•Post Shutdown

When?

•Inside the VE

•Outside the VE

Where?

•Delay before timeout error

•Wait for completion

•Handle script exit code

How?

OSD ScriptingFlexible execution options

Page 25: Nidhi Doshi Program Management Microsoft Corporation WCL310.

•Ends all child processes of the launched virtual app when the app ends.

TERMINATECHILDRENAttribute

•Relaxes isolation for virtual app

•Useful when virtual applications need to interact with locally installed applications.

LOCAL_ INTERACTION_ ALLOWED

Policy

•VIRTUAL_SERVICES_DISABLED

•VIRTUAL_REGISTRY_DISABLED

•VIRTUAL_FILE_SYSTEM_DISABLED

Debugging Policies

OSD VE CustomizationVirtual environment options and policies

Page 26: Nidhi Doshi Program Management Microsoft Corporation WCL310.

How can I customize for my environment?

OSD customization

Page 27: Nidhi Doshi Program Management Microsoft Corporation WCL310.

What more can I do?New in 4.5

Page 28: Nidhi Doshi Program Management Microsoft Corporation WCL310.

BenefitsIndependent ServicingIndependent Deployment

Target ScenariosPlug-ins, Middleware, Shared Components“Small” Dependent Applications

FeaturesMultiple Packages in Same Virtual Environment

Dynamic Suite CompositionIncreased flexibility managing applications

Page 29: Nidhi Doshi Program Management Microsoft Corporation WCL310.

DSC DemoUsing the Dynamic Suiting Composition Tool

Page 30: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Where to find more information

App-V Documentationhttp://technet.microsoft.com/en-us/library/cc843848.aspx

App-V White Papershttp://technet.microsoft.com/en-us/appvirtualization/cc843994.aspx

App-V TechNet Forumshttp://social.technet.microsoft.com/Forums/en-US/category/appvirtualization

Documentation Feedback [email protected]

Security Configuration Roles

http://www.microsoft.com/downloads/details.aspx?FamilyID=63d33346-b864-4284-8c5f-dce80c451e83&DisplayLang=en

Page 31: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Sequencer WalkthroughDemo

Page 32: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Package Name for MSIOptional Advanced Options

Start

Sequencing ProcessWizard walkthrough

Page 33: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Apply SDs to Package RootHook Shell and Services

Stop/Hook Windows Update

Upload Empty EnvironmentMonitor File Operations

Monitor

Sequencing ProcessWizard walkthrough

Page 34: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Privatize SxS AssembliesCapture Registry ChangesCapture Services Changes

Capture File ChangesIntercept Reboot Requests

Install

Sequencing ProcessWizard walkthrough

Page 35: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Simulate Reboot OperationsDownload Captured State

Create File ListCreate VFS Mappings

Create Font and Service List

Classify User and App StateSet Opacity/Translucency

Remove Excluded DataMake State Portable

Process

Sequencing ProcessWizard walkthrough

Page 36: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Add/Delete ApplicationsDefine Shortcuts

Define File Type Associations

Application Configuration

Sequencing ProcessWizard walkthrough

Page 37: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Monitor File OperationsMonitor File I/O

Stop Windows Update

Upload Previous StateCreate Application Process

Privatize SxS AssembliesCapture Registry ChangesCapture Services Changes

Capture File Changes

Wait for Process Exit

Sequencing ProcessWizard walkthrough

Page 38: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Simulate Reboot OperationsDownload Captured State

Update File ListUpdate VFS Mappings

Update Font and Service List

Classify User and App StateSet Opacity/Translucency

Remove Excluded DataMake State Portable

Process

Sequencing ProcessWizard walkthrough

Page 39: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Create Package MetadataSave Security DescriptorsCompute Feature Blocks

Generate OSDsGenerate SFTGenerate MSI

Sequence and Save

Sequencing ProcessWizard walkthrough

Page 40: Nidhi Doshi Program Management Microsoft Corporation WCL310.

SFTSequencer [/Help] [/InstallPackage:installpackage][/InstallPath:installpath][/OutputFile:outputfile][/FullLoad][/default:projectfile] (new for 4.5)[/blocksize:blocksize] (new for 4.5)[/compression: algorigthm] (new for 4.5)[/suite:suite] (new for 4.5)[/upgrade:package] (new for 4.5)[/msi] (new for 4.5)

New CLI options available

Page 41: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Additional DetailsTheory

Page 42: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Translucent(Merge, Virtual)

Merge with Local Data

Opaque(Override, Pure Virtual)

Mask Local Data

Reg/FileOpacity

Did registry keyor file path already

exist?

End

No Yes

VFS Mapping

Data Redirected to Q:

No Mapping

Data Accessed via Q:

FileMap

Was file createdoutside installation

path?

End

No Yes

Sequencing ProcessOpacity and mapping decision tree

Page 43: Nidhi Doshi Program Management Microsoft Corporation WCL310.

<SOFTPKG GUID="application GUID" NAME="application name" VERSION="version string"> <IMPLEMENTATION> <CODEBASE HREF="location“ GUID="package" FILENAME="application“ PARAMETERS=“parameters” SYSGUARDFILE="state file"/> <OS VALUE="platform"/>...<OS VALUE="platform"/> <WORKINGDIR>optional working directory</WORKINGDIR> <VIRTUALENV virtual environment configuration options> <ENVLIST>optional variables</ENVLIST> <REGISTRY>optional values</REGISTRY> <POLICIES>optional policies</POLICIES> <DEPENDENCIES> <CODEBASE ... MANDATORY="TRUE|FALSE"/>...<CODEBASE ... MANDATORY="TRUE|FALSE"/> </DEPENDENCIES> </VIRTUALENV> </IMPLEMENTATION> <DEPENDENCY> <CLIENTVERSION VERSION="4.5.0.0"/> <SCRIPT>optional scripts</SCRIPT></DEPENDENCY> <MGMT_SHORTCUTLIST><SHORTCUT definition>…<SHORTCUT …></MGMT_SHORTCUTLIST> <MGMT_FILEASSOCIATIONS> <PROGIDLIST>shell integration</PROGIDLIST><FILEEXTENSIONLIST>FTAs</FILEEXTENSIONLIST> </MGMT_FILEASSOCIATIONS></SOFTPKG>

Sequencing OutputsWhat is in the OSD? Generic example

Page 44: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Additional DetailsPractice

Page 45: Nidhi Doshi Program Management Microsoft Corporation WCL310.

<?xml version="1.0" standalone="no"?><SOFTPKG GUID="0015DC5C-FED6-40CC-9F77-0FCE61C9FE76" NAME="Microsoft Office Live Meeting 2007" VERSION="8.0.6362.116"> <IMPLEMENTATION> <CODEBASE HREF="RTSPS://%SFT_SOFTGRIDSERVER%:322/Live Meeting Project.sft" GUID="5665AE50-7AB5-4B2B-A334-0E296ABC44E0" PARAMETERS="" FILENAME="%CSIDL_APPDATA%\Microsoft Office\Live Meeting 8\Console\PWConsole.exe" SYSGUARDFILE="LiveMtg\osguard.cp" SIZE="55774767"/> <WORKINGDIR/> <VIRTUALENV TERMINATECHILDREN="FALSE"> <ENVLIST/> <REGISTRY/> </VIRTUALENV> <VM VALUE="Win32"> <SUBSYSTEM VALUE="windows"/> </VM> <OS VALUE="WinVista"/> </IMPLEMENTATION>…

Sequencing OutputsWhat is in the OSD?

Page 46: Nidhi Doshi Program Management Microsoft Corporation WCL310.

… <DEPENDENCY> <CLIENTVERSION VERSION="4.5.0.0"/> </DEPENDENCY> <PACKAGE NAME="Live Meeting"/> <ABSTRACT>Parent product</ABSTRACT> <MGMT_SHORTCUTLIST> <SHORTCUT LOCATION="%CSIDL_PROGRAMS%\Microsoft Office Live Meeting 2007" FILENAME="Microsoft Office Live Meeting 2007.lnk" OVERRIDDEN="FALSE" DISPLAY="Microsoft Office Live Meeting 2007" ICON="%SFT_MIME_SOURCE%/Live Meeting Project Icons/ Microsoft Office Live Meeting 2007 8.0.6362.116.ico"/> </MGMT_SHORTCUTLIST> <MGMT_FILEASSOCIATIONS> <PROGIDLIST/> <FILEEXTENSIONLIST/> </MGMT_FILEASSOCIATIONS></SOFTPKG>

Sequencing OutputsWhat is in the OSD?

Page 47: Nidhi Doshi Program Management Microsoft Corporation WCL310.

…<DEPENDENCY> <SCRIPT EVENT="LAUNCH" TIMING="PRE" PROTECT="FALSE" WAIT="TRUE"> <HREF>reg import "%CSIDL_LOCAL_APPDATA%\cmd.reg"</HREF> </SCRIPT>

<SCRIPT EVENT="SHUTDOWN" TIMING="POST" PROTECT="TRUE" WAIT="TRUE"> <HREF>reg export "HKEY_CURRENT_USER\Console" “ %CSIDL_LOCAL_APPDATA%\cmd.reg" /y</HREF> </SCRIPT>

</DEPENDENCY>…

OSD ScriptingExample – Registry “Passthru”

Page 48: Nidhi Doshi Program Management Microsoft Corporation WCL310.

…<DEPENDENCY> <SCRIPT EVENT="LAUNCH" PROTECT="TRUE" TIMING="PRE" WAIT="TRUE“ SUCCESSRESULT="1" ABORTRESULT="0"> <SCRIPTBODY> @echo off\n set net35loc=%windir%\\Microsoft.NET\\Framework\\v3.5\n set file35=%net35loc%\\csc.exe\n if not exist &quot;%file35%&quot; (\n echo .NET 3.5 Framework must be installed for this application.\n pause\n exit 0 )\n exit 1 </SCRIPTBODY> </SCRIPT><DEPENDENCY>…

OSD ScriptingExample – Prerequisite check

Page 49: Nidhi Doshi Program Management Microsoft Corporation WCL310.

…<VIRTUALENV> <REGISTRY>… <REGKEY HIVE="HKCU" KEY="\Software\Microsoft\Tracing\DemoApp"> <REGVALUE REGTYPE="REG_DWORD" NAME="EnableFileTracing">1 </REGVALUE> <REGVALUE REGTYPE="REG_DWORD" NAME="EnableDebuggerTracing">1 </REGVALUE> </REGKEY>… </REGISTRY></VIRTUALENV>…

OSD VE CustomizationsExample – Add registry settings

Modify application configurable settings without re-Sequencing

Page 50: Nidhi Doshi Program Management Microsoft Corporation WCL310.

…<VIRTUALENV> <ENVLIST>… <ENVIRONMENT VARIABLE="PATH"> %PATH%;%SFT_MNT%\vs2005\Microsoft SDK\bin\.; </ENVIRONMENT> <ENVIRONMENT VARIABLE="W2K3DDK"> %SFT_MNT%\vs2005\winddk\3790~1.183 </ENVIRONMENT>…</ENVLIST></VIRTUALENV>…

OSD VE CustomizationsExample – Add environment variables

Append application env variables for users or sites

Page 51: Nidhi Doshi Program Management Microsoft Corporation WCL310.

<?xml version="1.0" standalone="no"?><SOFTPKG GUID="99D18E63-AD5E-4308-9B22-F8E9B45BD246" NAME="Microsoft Office Outlook" VERSION="12.0.6212.1000"> <IMPLEMENTATION>… <VIRTUALENV TERMINATECHILDREN="FALSE"> <DEPENDENCIES> <CODEBASE HREF="RTSPS://%SFT_SOFTGRIDSERVER%:322/Live Meeting Project.sft" GUID="5665AE50-7AB5-4B2B-A334-0E296ABC44E0" PARAMETERS="" FILENAME="%CSIDL_APPDATA%\Microsoft Office\Live Meeting 8\Console\PWConsole.exe" SYSGUARDFILE="LiveMtg\osguard.cp" SIZE="55774767" MANDATORY="TRUE" /> </DEPENDENCIES> <ENVLIST /> </VIRTUALENV>… </IMPLEMENTATION>…</SOFTPKG>

OSD DependenciesExample of configuring suited applications

Page 52: Nidhi Doshi Program Management Microsoft Corporation WCL310.

question & answer

Page 53: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Track Resources→Want to find out which Windows Client sessions are best suited to help you in your deployment lifecycle? →Want to talk face-to-face with folks from the Windows Product Team?

Meet us today at the

Springboard Series Lounge, or visit us at www.microsoft.com/springboard

Springboard SeriesThe Springboard Series empowers you to select the right resources, at the right technical

level, at the right point in your Windows® Client adoption and management process. Come see why Springboard Series is your destination for Windows 7.

Page 54: Nidhi Doshi Program Management Microsoft Corporation WCL310.

www.microsoft.com/teched

Sessions On-Demand & Community

http://microsoft.com/technet

Resources for IT Professionals

http://microsoft.com/msdn

Resources for Developers

www.microsoft.com/learningMicrosoft Certification and Training Resources

www.microsoft.com/learning

Microsoft Certification & Training Resources

Resources

Page 55: Nidhi Doshi Program Management Microsoft Corporation WCL310.

Complete an evaluation on CommNet and enter to win!

Page 56: Nidhi Doshi Program Management Microsoft Corporation WCL310.

© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.