Microsoft Application Virtualization (App-V) 4/20/2017 3:26 PM ES32 Microsoft Application Virtualization (App-V) John Sheehan Partner Architect Microsoft Corporation Elsie Nallipogu Lead Program Manager Microsoft Corporation Alvin Chardon Sr. SDET Microsoft Corporation © 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.
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-V Run applications without conflict 4/20/2017 3:26 PM Benefits Of App-V Run 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 © 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.
Running Microsoft Office 2007 From USB 4/20/2017 3:26 PM demo Running Microsoft Office 2007 From USB John Sheehan Partner Architect Microsoft App-V © 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.
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
Debugging A Virtual Application 4/20/2017 3:26 PM demo Debugging A Virtual Application John Sheehan Architect Microsoft App-V © 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.
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.a spx
Evals & Recordings www.microsoftpdc.com Please fill out your evaluation for this session at: This session will be available as a recording at: www.microsoftpdc.com
Please use the microphones provided 4/20/2017 3:26 PM 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.
4/20/2017 3:26 PM © 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. © 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.
4/20/2017 3:26 PM © 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.