Nidhi Doshi Program Management Microsoft Corporation WCL310.
-
Upload
kelly-ryan -
Category
Documents
-
view
221 -
download
0
Transcript of Nidhi Doshi Program Management Microsoft Corporation WCL310.
Microsoft Desktop Optimization Pack: Microsoft Application Virtualization 4.5 Sequencing Deep Dive
Nidhi DoshiProgram ManagementMicrosoft CorporationWCL310
Session Overview
App-V and SequencingSequencing Guidelines and PrepUsing the SequencerDeep dive
Customizing packages and virtual environmentDynamic Suite Composition (DSC) tool
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!
The core concepts of App-V and Sequencing
Theory
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
App-V and Sequencer
Package creation Publish Client
ApplicationModel
RuntimeManagement
StateManagement
LifecycleManagement
ApplicationDescription
App-V Platform
PracticeGetting prepared to Sequence
Sequencing GuidelinesGood candidates for virtualization
Almost all applications are good candidates!
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
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
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
Installation
Launch
Save
Sequencing ProcessThe key activities of producing a package
DemoSequencing is as easy as 1-2-3
TheoryWhat just happened? Looking inside the sequencing process
SFT
PackageFile
OSDs
ApplicationDescription
SPRJ
SequencerProject
ICOs
Shortcutand FTA Icons
Manifest
StandalonePublishing
MSI Setup
StandaloneSetup Utility
MSI
Sequencing OutputsFiles created and relationships
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
Sequencing ProcessVirtual view
App Data
Client System Data
Merged Virtual View
Override Virtual View
User Machine
App Installation
App Package App Virtual View
Sequencing ProcessFile mappings
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.
But I need moreCustomization
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
•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
•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
How can I customize for my environment?
OSD customization
What more can I do?New in 4.5
BenefitsIndependent ServicingIndependent Deployment
Target ScenariosPlug-ins, Middleware, Shared Components“Small” Dependent Applications
FeaturesMultiple Packages in Same Virtual Environment
Dynamic Suite CompositionIncreased flexibility managing applications
DSC DemoUsing the Dynamic Suiting Composition Tool
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
Sequencer WalkthroughDemo
Package Name for MSIOptional Advanced Options
Start
Sequencing ProcessWizard walkthrough
Apply SDs to Package RootHook Shell and Services
Stop/Hook Windows Update
Upload Empty EnvironmentMonitor File Operations
Monitor
Sequencing ProcessWizard walkthrough
Privatize SxS AssembliesCapture Registry ChangesCapture Services Changes
Capture File ChangesIntercept Reboot Requests
Install
Sequencing ProcessWizard walkthrough
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
Add/Delete ApplicationsDefine Shortcuts
Define File Type Associations
Application Configuration
Sequencing ProcessWizard walkthrough
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
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
Create Package MetadataSave Security DescriptorsCompute Feature Blocks
Generate OSDsGenerate SFTGenerate MSI
Sequence and Save
Sequencing ProcessWizard walkthrough
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
Additional DetailsTheory
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
<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
Additional DetailsPractice
<?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?
… <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?
…<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”
…<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 "%file35%" (\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
…<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
…<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
<?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
question & answer
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.
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
Complete an evaluation on CommNet and enter to win!
© 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.