230 likes | 290 Views
ES32. Microsoft Application Virtualization (App-V). John Sheehan Partner Architect Microsoft Corporation. Alvin Chardon Sr. SDET Microsoft Corporation. Elsie Nallipogu Lead Program Manager Microsoft Corporation. Agenda. Background and benefits Technical deep dive
E N D
ES32 Microsoft Application Virtualization (App-V) John Sheehan Partner Architect Microsoft Corporation • Alvin Chardon Sr. SDET Microsoft Corporation Elsie Nallipogu Lead Program Manager Microsoft Corporation
Agenda • Background and benefits • Technical deep dive • Best practices • Development • Debugging • Testing • Summary
Microsoft Application Virtualization (App-V) • App-V available via Microsoft Desktop Optimization Pack (MDOP) • Application virtualization is growing in the enterprise space 8 Million Licenses Launch 18 months
Benefits Of App-V Run applications as a service • Access anywhere • Over the web • Portable devices • Just in time deployment (Click-to-Run) • Installer does not run • Instant gratification • Simple servicing • Update once, deliver everywhere • Users automatically stay up to date
Benefits Of App-VRun applications without conflict • No changes to system • Safely run apps side-by-side • No OS decay over time • Lower migration costs • State separation • Store app state separate from OS state • State categorized as user versus system • User state stored in profile, roams with profile
demo Running Microsoft Office 2007 From USB John Sheehan Partner Architect Microsoft App-V
How Does It Work? • App repackaged using Sequencer • Installation monitored to capture resources • All app resources stored in an app image (.SFT) • App image placed on server for distribution • App streamed to client over network • Other distribution mechanisms possible (USB) • App-V runs app in Virtual Environment (VE) • App virtualization (V12N) layer handles resource requests
How Are Applications Virtualized? • Sequencer captures resources created at installation time • E.g., files, registry, etc. • Resources stored in an app image • Image optimized for network streaming • App image placed on server for distribution
How Are Virtual Apps Run? • App image streamed to client over network • App runs in Virtual Environment (VE) • VE contains all app resources • Resources live in separate namespace • App V12N layer intercepts OS calls • Fulfills requests for app resources
How Are Requests Processed? • Namespace • Container for app resources • Each name unique resource (Source of conflict) • Logical namespace processing User Settings Application Resources Local System
How Do I Develop V12N-Friendly Apps? • Reduce installation assumptions • Detect OS version at launch • Enable/disable features dynamically • Avoid hard-coded paths • Use REG_EXPAND_STRING or derive at runtime • Localization/MUI • Provide support for installing multiple locales • Drivers not virtualized • Provide separate installers • Good in general for Enterprise environment
How Do I Develop V12N-Friendly Apps?Continued • Config/INI files not currently genericized • Avoid hardcoded paths • Registry usage • Registry not for IPC/message queuing • Allow user to disable autoupdates • Install on first use not supported • Allow users to opt out • Not all resources currently virtualized • Shell extensions, WMI, COM+
How Do I Debug Virtual Apps? • Attach debugger to virtual process • Procs outside VE can’t see virtual resources • Launch debugger in VE • Use Image File Execution Options • Use Process Monitor v1.6 or later • procmon.exe/ExternalCapture • Use Process Explorer • That’s it
demo Debugging A Virtual Application John Sheehan Architect Microsoft App-V
Best Practices for Testing Virtual Apps • Leverage existing Test Investment • Launch test tools and harnesses inside VEs • File Type Associations and Shortcuts still there • Access application’s process from the SPL • Access application’s COM objects from the ROT • Virtualization Specific Concerns • Platform Compatibility • Default File Locations • Internal Testing • Easily deploy prerelease builds internally unobtrusively
Key Takeaways • Embrace life without installs using App-V • Applications run as a service • Applications run without conflict • Try out the App-V client on MSDN! • Interested in talking with us at PDC? • Send email to wapdisc@microsoft.com • Stop by the Virtualization booth
Where Can I Get More Information? • MSDN App-V Download - search for “Desktop Optimization” at http://msdn.microsoft.com/en-us/subscriptions/downloads/default.aspx • Microsoft App-V site - http://www.microsoft.com/appv • Microsoft App-V blog - http://blogs.technet.com/softgrid/default.aspx
Evals & Recordings Please fill out your evaluation for this session at: This session will be available as a recording at: www.microsoftpdc.com
Q&A Please use the microphones provided
© 2008 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.