vmw thinapp bootcamp
Post on 21-Apr-2015
297 Views
Preview:
TRANSCRIPT
PRESENTED BY VMWARE
Table of Contents | VMware View ThinApp Bootcamp Series
ThinApp Design Best Practices | by Ray Dusseault ................................................................... 3 Overview of real world best practices surrounding the new ThinApp Design Process along
with a basic timeline for theThinApp Plan & Design engagement.
ThinApp Implementation Best Practices | by Ray Dusseault .............................................. 15 Overview of the latest ThinApp Strategy, methodology and real world Implementation best practices.
ThinApp Performance-Enhancing Techniques | by Dean Flaming ................................... 33 Common tips, rules, basic troubleshooting procedures, and suggestions used to help enhance performance
of ThinApp packages, including pre-capture settings, post-capture clean-up, deployment option pros and
cons, and environment configurations.
Scripting within ThinApp | by Dean Flaming .................................................................................. 46 Understanding the basics of scripting within a ThinApp environment including use of the callback functions
as timing mechanisms, additional options available for admins, and how to implement a scripted solution within
a ThinApp packaged application.
Isolation Modes Explained | by Travis Sales ................................................................................. 60 Isolation modes are at the heart of the abstraction layer within ThinApp. Explore their uses and and how to
adjust them for optimal application compatibility.
AppLink Fundamentals | by Travis Sales ......................................................................................... 69 AppLink enables you to package, deploy, and update component pieces separately while keeping the
benefits of application virtualization. This session will explore AppLinks use scenarios and use cases.
ThinApp Resources ............................................................................................................................. 78
PRESENTED BY VMWARE
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
3
ThinApp Resources
ThinApp Design Best PracticesRay Dusseault, Sr. Consultant, EUC CoE, Global Strategy & Enablement
Agenda• Key Takeaways
• Plan & Design Timeline
• ThinApp Design Process Overview
View the ThinApp Design Best Practices video
PRESENTED BY VMWARE
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
4
ThinApp Resources
Key Take Aways• Follow the new ThinApp Design Process
• Listen to and document the customer pain points
• Don’t be afraid of ThinApp Streaming
• Whenever possible reuse existing deployment infrastructure
• Don’t be afraid of third-party tools
PRESENTED BY VMWARE
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
5
ThinApp Resources
Design Process OverviewNew Methodology and best practices framework
PRESENTED BY VMWARE
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
6
ThinApp Resources
ThinApp Plan & Design Basic Timeline
PRESENTED BY VMWARE
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
7
ThinApp Resources
ThinApp Design Process Overview
PRESENTED BY VMWARE
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
8
ThinApp Resources
Use Case Definition• Listen to and document the customer pain points
• Don’t be too quick to solve problems immediately; sometimes the true customer pain is buried below the surface of other scenarios
• Whenever possible avoid internal politics. Business Unit tension will become clear during this phase
• Understand the core ThinApp use cases but do not initially try to force those on the customer to save time
• Determine desktop and application migration plans, current and future
PRESENTED BY VMWARE
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
9
ThinApp Resources
Target Application List• Determine existing inventory or collection processes
- Although this existing inventory may be accurate, the majority of lists I have encountered are flawed
• Perform application assessments
- These assessments are mission critical for successful desktop and application migrations
- Third-party tools from companies like LiquidWare Labs can provide tremendous benefit during this process
• Don’t forget about Windows 7 application compatibility
- ChangeBase and AppDNA are third-party tools that can assist during this process
• Early investigation has determined that Windows 8 has the potential to cause additional application compatibility conflicts
• NEW – EUC Assessment strategy
- Help customers understand all of their entire application stack, SaaS, ThinApp, native install, legacy
PRESENTED BY VMWARE
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
10
ThinApp Resources
Application Integration Design• Heavily based upon the Target Application list and Design Enablement Workshops
• Investigate customer application scenarios
• Determine application dependencies
• Interviews with customer helpdesk staff will determine critical problem applications
• Position ThinApp features to alleviate these integration points
PRESENTED BY VMWARE
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
11
ThinApp Resources
Application Management Design• Determine update strategies for application scenarios
• Determine backup strategies for ThinApp Repositories
• Determine the customer application footprint
• Investigate existing application management processes
PRESENTED BY VMWARE
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
12
ThinApp Resources
Packaging Infrastructure Standards• Determine if the customer has a packaging team
• Determine existing MSI packaging strategies
• Identify third-party tools leveraged by the customer
• Whenever possible reuse existing packaging methodology
- ThinApp can seamlessly integrate with tools like Flexera AdminStudio and Symantec WisePackage Studio
- This reduces overall training time and knowledge transfer
• Identify existing application or media storage processes
• Position tools like ThinApp Converter or ThinApp Factory to alleviate stress on existing packaging teams
PRESENTED BY VMWARE
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
13
ThinApp Resources
Deployment Infrastructure Design• Investigate existing application deployment processes
• Don’t be alarmed when the customer admits issues with existing processes
• Don’t be too quick to suggest replacing those existing processes, considering the added time and cost of such an effort
• Determine current or future desktop migration efforts
• Determine current or future VDI migration efforts
PRESENTED BY VMWARE
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
14
ThinApp Resources
Summary• Follow the PSO ThinApp Plan & Design Kits
• Consult the ThinApp Plan & Design Guides
• Critical Focus on the Design enablement workshops
• Application Assessments are critical to success
• Don’t be afraid of third-party tools
• Whenever possible reuse existing deployment infrastructure and processes
PRESENTED BY VMWARE
15
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
ThinApp Implementation Best PracticesRay Dusseault, Sr. Consultant, EUC CoE, Global Strategy & Enablement
Agenda• Strategic Initiatives
• Implementation Best Practices
• Summary
View the ThinApp Implementation Best Practices video
PRESENTED BY VMWARE
16
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
ThinApp Implementation Best Practices
Strategic Initiatives •ThinAppScalabilityandPerformanceTesting
•ThinAppStreamingLifecycle
•ThinAppAdministrationUtilityforView
PRESENTED BY VMWARE
17
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
ThinApp Scalability and Performance Breakdown• 2 key areas of investigation
• Network – ThinApp Streaming
• Disk (Coming Soon)
- NetApp and EMC ThinApp Repository Best Practice guides (Coming Soon)
• Approach
• Step 1 – Establish Framework (In Progress)
- EUC CoE / ThinApp CoE
• Step 2 – Verify Methodology (In Progress)
- EUC CoE / ThinApp CoE / Desktop SMEs
• Step 3 – Create Testing Guideline (Coming Soon)
- Onsite with customers
- Lighthouse program
PRESENTED BY VMWARE
18
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
ThinApp Streaming Lifecycle• ThinApp Streaming Workload is the traffic consumed by the application during the launch process. This
can also be considered the First Launch of the ThinApp package
• ThinApp Payload is the data containing the runtime components only
• TCP/IP Overhead or communications data necessary to facilitate the ThinApp streaming process
PRESENTED BY VMWARE
19
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
ThinApp Streaming Lifecycle• ThinApp Streaming LifeCycle is the total traffic consumed by the application during the entire runtime
process of the application. This includes First launch bandwidth and subsequent launches.
PRESENTED BY VMWARE
20
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
ThinApp Scalability and Performance Breakdown• ThinApp Streaming Desktop Benchmark is the total sum of all ThinApp Streaming Workloads or
ThinApp Streaming LifeCycles of all software deployed to a desktop.
PRESENTED BY VMWARE
21
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
ThinApp Scalability and Performance Breakdown
Next Steps• ThinApp Network Impact Study Guide
- Basic repeatable testing methodology
- Core application testing results
• ThinApp Repository Best Practices Guide (Coming Soon)
- EMC guidance (Coming Soon)
- NetApp guidance (Coming Soon)
- Nexenta guidance (Coming Soon)
PRESENTED BY VMWARE
22
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
ThinApp Administration Utility for View (Beta)
SummaryMS Powershell script framework
Inventory deployed ThinApp packages on View Pools
Inventory deployed ThinApp packages on View Desktops
Remove deployed ThinApp packages on View Pools
Remove deployed ThinApp packages on View Desktops
Created by Mark Ewert – GTS EUC CoE
MS Powershell Script Framework
PRESENTED BY VMWARE
23
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
ThinApp Implementation and Design Best Practices
Implementation Best Practices •NewCnBLifecycle
•DeploymentStrategies
•Third-PartyDeploymentOptions
PRESENTED BY VMWARE
24
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
New ThinApp CnB Lifecycle
Production Deployment Scenarios
Where is the best place to run the ThinApp utilities?
PRESENTED BY VMWARE
25
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Deployment Strategy Overview• Leverage existing ESD infrastructure
- SCCM, Altiris, HP Radia, and Marimba all make excellent deployment platforms
- ThinApp EXE’s and MSI’s can seamlessly integrate with these platforms
• Leverage existing MSI tools
- ThinApp can seamlessly integrate with tools like Flexera AdminStudio or WisePackage Studio
- Don’t be afraid to examine customer pain around these processes
• Central ThinApp Repository can feed multiple Deployment Strategies
• AppLink, AppSync and In Place Update Strategies can be integrated with existing ESD solutions
• Don’t be afraid of third-party tools
- LWL Profile Unity, AppSense, and more have solid solutions to augment successful implementations
PRESENTED BY VMWARE
26
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Deployment Strategy Overview continued• View 5 and ThinApp combined make for a very powerful solution
• Don’t be afraid to integrate ThinApp with existing Citrix infrastructure
- Eliminating application conflicts
- Alleviate context switching issues
- Centralize on one ThinApp Repository
• Build upon network and storage analysis to increase performance
- ThinApp Plan & Design Guidance
- Don’t be afraid of ThinApp Streaming
PRESENTED BY VMWARE
27
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Basic ThinApp ESD Deployment and Update Workflow
IndividualThinAppESD/MSIpackages
PRESENTED BY VMWARE
28
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Basic ThinApp VDI Deployment and Update Workflow
IndividualThinAppESD/MSIpackages
PRESENTED BY VMWARE
29
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
VMware View
PRESENTED BY VMWARE
30
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
ThinApp-Citrix Delivery Center Integration Overview
PRESENTED BY VMWARE
31
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
New Option – LiquidWareLabs Profile Unity
Profile Unity – ThinApp Deployments and Persona Management
PRESENTED BY VMWARE
32
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Summary• Build upon a solid design
• Leverage existing ESD infrastructure
• Leverage existing MSI tools
• Central ThinApp Repository can feed multiple Deployment Strategies
• AppLink, AppSync and In Place Update Strategies can be integrated with existing ESD solutions
• Don’t be afraid to integrate ThinApp with existing Citrix infrastructure
• Don’t be afraid of third-party tools
• Don’t be afraid of ThinApp Streaming
• Build upon network and storage analysis to increase performance
PRESENTED BY VMWARE
33
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
ThinApp Performance-Enhancing Techniques ThinApp Performance Enhancement Overview, Demos, and Technical Discussions
Dean Flaming — Sr. Systems Engineer, Global Product Specialist, Application Virtualization
Agenda• Application Virtualization Basics
• Virtual Application Performance Overview & Concepts
• Identifying Slowness
- Perceptions
- Where?
- Registration
- Execution
- Runtime
• Primary Causes & Potential Solutions
- Native Environment
- Virtualized App
• Conclusions & ThinApp References
View the ThinApp Performance-Enhancing Techniques video
PRESENTED BY VMWARE
34
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Application Virtualization – The Basics
What is Application Virtualization?• Technology which encapsulates Windows apps, making them Windows OS
agnostic and transferable.
Why use Application Virtualization?• Resolve Conflicts
• Resolve Deployment & Update Issues
• Reduce overall Support Time
• Allow continued utilization of Legacy Apps
PRESENTED BY VMWARE
35
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Virtual Application Performance Overview
Why Slower?• Virtualized apps load differently
- Virtualization Layers
- Services and Child Processes are handled differently
- Runtime Modifications Storage
- Process and Object Obfuscations
• What is loaded into memory can vary!
• Each user environment is infinitely unique
- Network Configurations
- Desktop Configurations
- OS
- User Configurations
- Application Configurations
• Size does matter!
PRESENTED BY VMWARE
36
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Application Concepts
Each Application is Unique!While it is generally understood that each application is unique, from the previous discussions one can start to see not only how each ThinApp package of the same application is also unique, but how each execution of the same ThinApp package is unique based upon the user environment the ThinApp packaged app is executing within.
Understanding this concept will greatly benefit the application packager in how the ThinApp package is created and deployed, as well as with what pitfalls to avoid.
PRESENTED BY VMWARE
37
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
What Really Is Slow?
Perception• “Perception is Reality”
- Understanding what is “perception” and what is “reality.”
- Setting User Expectations
Where Is the Slowness?• When Registering ThinApppackaged apps?
• At Launch?
- Initial Launch
- Subsequent Launches
• During Run?
- General Execution
- Specific Process or Procedure
PRESENTED BY VMWARE
38
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Primary Causes & Potential Solutions
What Are Some Native Causes?• Where do the ThinApp and Sandbox reside?
- Removable Media
- Remote Share
- Logical Network Path
- Underlying System Architecture
- Hosting Server Priorities
- Share Configurations
- Permissions for Sandbox
- Local Drive
• What other processes or services are running locally, remotely, or across the network?
- Antivirus/Anti-Malware
- Adjust or Disable On-Demand Scanning
- Network Traffic – Backups, Data Migrations, etc.
PRESENTED BY VMWARE
39
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Primary Causes & Potential Solutions
What Are Some Virtual Causes?• Execution
- How large is the ThinApp package?
- What is the Data Container?
- Are there leftover install files and folders?
- Installer, AppData, Profile, Cookies, History, Cache, Backups
- Are those Fonts necessary?
- Services – Do they exist?
- Stop prior to post-setup capture.
- Are they set to auto-start?
- Are they needed?
- Are they starting in the proper order?
- Can ThinApp’s support of Boot Time Services be used?
PRESENTED BY VMWARE
40
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Demonstration
ThinApp Performance Enhancing Demo
ThinApp Boot Time Services Demo
PRESENTED BY VMWARE
41
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Primary Causes & Potential Solutions
What Are Some Virtual Causes? (continued)• Execution (continued)
- Excessive File Operations…
- Initially Large Sandboxes from excessive writes (DB files?)
- Configuration Issues
- Compile .NET FrameWork
- MSIEXEC Auto Repair and Reinstalls
- VMwareInfo.com - Surgically eliminating Windows Installer app repairs
- http://bit.ly/EliminateWindowsInstallerRepairs
PRESENTED BY VMWARE
42
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Primary Causes & Potential Solutions
What Are Some Virtual Causes? (continued)• Runtime
- Configuration Issues
- Microsoft Installer running in background
- Same as previous only hidden
- Tools: SysInternals.com
- Process Explorer
- Process Monitor
• Objects and Components
- Trouble finding something?
- Easily accessible to the virtual app?
PRESENTED BY VMWARE
43
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Primary Causes & Potential Solutions
What Are Some Causes?• Registration
- Where are the ThinApp packaged apps located?
- Local, Remote, Removable
- What is the Desktop Environment?
- Physical, Virtual, Remote
- How many ThinApp packages?
- What is the means of registration?
- ThinReg, MSI, ThinApp SDK, or Third Party
- When and how do users login?
- Shift Workers/Classroom/In Bulk
- One at a time
- Is additional validation logic used?
- Login Scripts, Group Policies, or Third Party
PRESENTED BY VMWARE
44
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Conclusions
•KnowThyApp!
•ExposesBadProgramming
•VirtuallyEverythingIsCustomizable
•BestPracticesResideintheEyeoftheBeholder
PRESENTED BY VMWARE
45
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Scripting with ThinApp ThinApp Scripting Overview, Demonstrations, and Technical Discussions
Dean Flaming, Sr. Systems Engineer, Global Product Specialist, Application Virtualization
Agenda• Why use Scripts within ThinApp?
- Common Scenarios
• ThinApp Scripting Overview
• ThinApp Scripting Architecture
- Callback Functions
- ThinApp Script Execution and Timing
• ThinApp API Calls
• Q & A
View the Scripting with ThinApp video
PRESENTED BY VMWARE
46
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Why Use Scripts within ThinApp?
Why use Scripts?• Scripting, in general, allows one to create an automated,
programmatic process for data manipulation based upon logical validations.
Why use Scripts within ThinApp?• Combining the power of scripts, one can create a packaged
application which is not only mobile, but also highly versatile by reconfiguring itself at each launch for each individual user in each unique environment.
• Example: Automatically preconfigure a user’s application environment based upon…
- Who they are
- What they do
- Where they work from
- How they access their applications and data
- When they connect in to work
- Why they are working
- Any combination or all of the above
PRESENTED BY VMWARE
47
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
ThinApp Scripting Common Scenarios
1. Customizingapplicationduringlaunch baseduponenvironment
2. Starting/StoppingServicesInside ThinAppVOS
3. Starting/StoppingServicesOutside ThinAppVOS
4. Mapping/UnmappingDrivesorPrinters
5. Runningapplicationonpreferred systemsONLY
PRESENTED BY VMWARE
48
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Overview
The Basics
•PlaceVBScriptfile(VBS)ofanynameintorootofThinAppprojectfolder
-Thescript(s)willbeloadedbytheThinAppVOSandexecutedasnecessarywhentheThinApppackageisinitiallylaunchedoracallbackfunctionisneeded
Notes
•OnlyVBScriptissupportednatively
•MultipleVBscriptfilescanbeusedbutnotrecommended
•Canuseotherscriptingengines
-LoadThird-PartyScriptingEngineintothepackage
-CreateaVBScriptwhichlaunchesyourownscriptagainstitsscriptingengine
•CannotuseWSCRIPT.<commands>inThinAppVBScripts
General Recommendations
•OrganizeScriptintoSections
•TestyourscriptcodeoutsideThinApp
•Comment,Comment,Comment!
PRESENTED BY VMWARE
49
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
ThinApp Scripting Architecture
Callback Functions
•Scripting Outside Callback Functions—ThescriptitselfwillbecalledasnecessarywhentheThinAppVOSneedsanyoneofthefourcallbackfunctions.AnycodenotwithinaThinAppCallbackFunctionwillbeexecutedeachtimethescriptiscalled,BEFOREanycallbackfunctionsareexecuted.
•Examples–Generallycodefoundhereisofbenefittotherestofthescript,suchasdeclaringtheenvironmentandsettingglobalvariables.
Example:
‘DECLAREVARIABLES DimWSHNetwork,WSHShell,objFSO,objShell DimsDrive,sShare,sName’ SETGLOBALVARIABLES SetWSHNetwork=CreateObject(“WScript.Network”) SetWSHShell=CreateObject(“WScript.Shell”) SetobjFSO=CreateObject(“Scripting.FileSystemObject”)
PRESENTED BY VMWARE
50
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
ThinApp Scripting Architecture
Callback Functions
•OnFirstSandboxOwner —Calledonlyoncewhenthefirstentrypointislaunchedinapackageandisexecutedbeforetheapp.ItisNOTcalledforsubsequententrypointsexecutedfromthesameThinApppackagewhileanypartoftheThinApppackageisrunning.
Example:
FunctionOnFirstSandboxOwner ‘SETGLOBALANDLOCALVARIABLES SetWSHNetwork=CreateObject(“WScript.Network”) SetWSHShell=CreateObject(“WScript.Shell”) SetobjFSO=CreateObject(“Scripting.FileSystemObject”) sDrive=“X:”‘SettheDriveLettertomap sShare=“\\SERVER\SHARE\FOLDER”‘SettheUNCPath ‘ConductDriveMapping IfNotobjFSO.DriveExists(sDrive)Then WSHNetwork.MapNetworkDrivesDrive,sShare,0 EndIf EndFunction
PRESENTED BY VMWARE
51
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
ThinApp Scripting Architecture
Callback Functions
•OnFirstParentStart—IscalledpriortotheThinAppapplicationbeinglaunchedforeachparentregardlessifanotherparenthasthesandboxlockedopenornot.
Example: FunctionOnFirstParentStart ‘Setthecurrentdirectory WSHShell.CurrentDirectory=“X:\APP\DATA” EndFunction
•OnFirstParentExit—Iscalledwhenanyparentprocessexitsregardlessofanychildprocessesspawned.
Example: FunctionOnFirstParentExit ‘DeleteDBLockFiles IfobjFSO.FileExists“X:\APP\Data\DB.LCK” Then objFSO.DeleteFile“X:\APP\Data\*.LCK”,True EndIf EndFunction
PRESENTED BY VMWARE
52
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
ThinApp Scripting Architecture
Callback Functions
•OnLastProcessExit—ThisfunctioniscalledwhentheverylastprocessintheThinAppVOSexits—whetheritbeachildprocessortheparentprocess.
AutoStartedserviceswithintheThinApppackagedapplicationarenottakenintoaccounthereandareaddressedthroughadifferentareaoftheVOS.
Example: FunctionOnLastProcessExit ‘UnmapX:Drive WSHNetwork.RemoveNetworkDrive“X:”,True,True EndFunction
PRESENTED BY VMWARE
53
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
VBScript Timing Within a ThinApp Package
1. GlobalVBSScript(i.e.outsideany callbackfunction)launched
2. VBSScriptOnFirstSandboxOwnercallbackexecuted
3. VBSScriptOnFirstParentStartcallbackexecuted
4. AllAutostartServicesarestarted
5. TheEntryPoint(i.e.Application)islaunched
6. Applicationisclosedbyuser
7. Ifapplicationis“Parent,”thenVBSScriptOnFirstParentExitcallbackexecutedOnFirstParentExitnotexecutedfor“child”processes
8. IfApplication/EntryPointislastprocess,then
1. AutostartServicesstopped
2. VBSScriptOnLastProcessExitcallbackexecuted
PRESENTED BY VMWARE
54
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Example ThinApp Script‘This executes each time the script is called, prior to any callback functions
MsgBox “Non-Callback Function Test Box”,,”Script 0”
Function OnFirstSandboxOwner
‘ThisexecutesONLYONCEforthefirstentrypointbeinglaunchedinaThinApppackage
MsgBox “OnFirstSandboxOwner”,,”Script 0”
End Function
Function OnFirstParentStart
‘ThisexecutesforEACHentrypointbeinglaunchedwithinaThinApppackage
MsgBox “OnFirstParentStart”,,”Script 0”
End Function
Function OnFirstParentExit
‘ThisexecutesforEACHentrypointbeingclosedwithinaThinApppackage
MsgBox “OnFirstParentExit”,,”Script 0”
End Function
Function OnLastProcessExit
‘ThisexecutesONLYONCEwhenthelastprocesswithinaThinApppackageisclosed.
MsgBox “OnLastProcessExit”,,”Script 0”
End Function
PRESENTED BY VMWARE
55
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Demonstrations
Script Implementation and Timing Demo
Script Execution with Multiple Entry Points
Script Execution with Multiple Scripts
PRESENTED BY VMWARE
56
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
ThinApp API Calls
•AddForcedVirtualLoadPath(Path) –InstructsThinAppVOStoloadfromspecificpath(usuallyoutsidethesandbox)intoVOS.
•ExitProcess(Exit Code)–InstructsThinAppVOStoquitcurrentprocesswitherrorcodespecified.
•ExpandPath(Input Path)–InstructsThinAppVOStoexpandoutvariableintoSystemformat.
•ExecuteExternalProcess(Command Line)–InstructsThinAppVOStoexecuteapplicationorscriptoutsideVOS.
•ExecuteVirtualProcess(Command Line) – InstructsThinAppVOStoexecuteapplicationorscriptinsideVOS.
•GetBuildOption(Option Name from PACKAGE.INI) – InstructsThinAppVOStogetANYbuildoptionfrompackage.
•GetFileVersionValue(FileName, Value)–InstructsThinAppVOStogetactualversiondatafromanEXE,DLL,OCX,oranyotherfilewithversioninfo.
•GetCommandLine–InstructsThinAppVOStoreturnentirecommandlineofThinAppapplication,includingparameters.
PRESENTED BY VMWARE
57
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
ThinApp API Calls continued
•GetCurrentProcessName–InstructsThinAppVOStoreturnfullpathandfilenameofcurrentparentorchildprocessrunning.
•GetOSVersion –InstructsThinAppVOStogetactualoperatingsysteminfo.ValuereturnedinMAJOR.MINOR.BUILD_NUMBER.PLATFORM_IDOS_STRINGformat.
•GetEnvironmentVariable(Name) –InstructsThinAppVOStoreturnvariableinformationassociatedwitheithervirtualorrealvariable.
•RemoveSandBoxOnExit(Yes/No) –InstructsThinAppVOStoremovesandboxonexit–evenifnotspecifiedinthePACKAGE.INI.
•SetEnvironmentVariable(Name, Value)–InstructsThinAppVOStosetanenvironmentvariablewithinVOS.
•SetFile systemIsolation(Directory, IsolationMode) –InstructsThinAppVOStosetisolationmodeofadirectory.
•SetRegistryIsolation(RegistryKey, IsolationMode) –InstructsThinAppVOStomodifyIsolationModeonspecificregistrykey.
•WaitForProcess(ProcessID, Timeout in Milliseconds) –InstructsThinAppVOStowaitforspecificprocesstocompleteexecutionbeforecontinuing.
PRESENTED BY VMWARE
58
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Demonstration
Advanced Script – Time Bombed ThinApp
PRESENTED BY VMWARE
59
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Isolation Modes ExplainedTravis Sales, Staff Systems Engineer, Global Product Specialist, Application Virtualization
Agenda• Overview
- Isolation Modes Review
• Architecture
- Full
- WriteCopy
- Merged
• Demo
View the Isolation Modes Explained video
PRESENTED BY VMWARE
60
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
The VMware ThinApp Solution
Agentless architecture• Single file – EXE, MSI
• No installation or changes to registry
• Zero management required on end point device
Seamlessly fits into any environment• No streaming server hardware or software needed
• Plugs into any existing management framework
Run virtually any application from any device• Desktop, USB, flash, terminal services, Citrix
• Any windows application – simple to complex
• Supporting components can be run side by side (Java, .Net)
Ensure security without compromising user flexibility
• User-Mode execution
• Virtual Registry/File System protects underlying host OS
• No pre-installed agent required on underlying OS
PRESENTED BY VMWARE
61
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
How ThinApp Works
Isolation modes determine the level of read and write access to the native file system outside of the virtual environment.
• You might adjust isolation mode settings depending on the application and the requirements to protect the physical system from changes.
• The selection of isolation modes in the capture process determines the value of the DirectoryIsolationMode parameter in the Package.ini file. This parameter controls the default isolation mode for the files created by the virtual application except when you specify a different isolation mode in the ##Attributes.ini file for an individual directory.
• The selection of a directory isolation mode does not affect the following areas:
- ThinApp treats write operations to network drives according to the SandboxNetworkDrives parameter in the Package.ini file. This parameter has a default value that directs write operations to the physical drive.
- ThinApp treats write operations to removable disks according to the SandboxRemovableDisk parameter in the Package.ini file. This parameter has a default value that directs write operations to the physical drive.
- If you save documents to the desktop or My Documents folder, ThinApp saves the documents to the physical system. ThinApp sets the isolation mode in the ##Attributes.ini files in %Personal% and %Desktop% and %Spool% to Merged even when you select WriteCopy isolation mode.
PRESENTED BY VMWARE
62
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Technical Discussion
Isolation Modes
PRESENTED BY VMWARE
63
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Technical Architecture – Sandbox & Isolation• Sandboxing and Isolation Modes provide security and persistence.
- Isolation settings during capture define level of interaction with underlying file system and registry.
- ThinApp redirects all runtime changes to private, per-user/per-app sandbox location.
- Sandbox location is configurable.
- Reset apps to default behavior by deleting the sandbox.
PRESENTED BY VMWARE
64
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
VMware ThinApp File System Isolation Modes
Full (No Read/Write Access)• Provides complete isolation from all physical system elements
• Manual user access to network, file and print are still available
• Recommended for avoiding conflicts between coexisting copies of applications
• Useful if another version of the application is already natively installed
• Can only be configured post-capture in package.ini or attributes.ini files
PRESENTED BY VMWARE
65
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
VMware ThinApp File System Isolation Modes
WriteCopy (Restricted Write Access)• ThinApp copies file system changes to the sandbox so that only copies of files are modified, not the
actual physical files
- Excludes changes in Desktop and My Documents
• Recommended for legacy or untrusted applications, or locked down desktops
• Useful in multiuser environments where write operations to the file system can impact more than one user
PRESENTED BY VMWARE
66
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
VMware ThinApp File System Isolation Modes
Merged (Full Write Access)• Applications have visibility to and can modify physical system elements outside of the ThinApp package
as needed
• Allows users to create, modify and save files in familiar locations (such as Desktop, My Documents, C:\User)
• Recommended for applications (such as Microsoft Office) that write to standard system directories
PRESENTED BY VMWARE
67
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
VMware ThinApp File System Isolation Modes
File System Isolation Modes in Summary
ISOLATION MODE SySTEM ELEMENTS VIRTUAL ELEMENTS
Full mode(No Read/Write Access)
App cannot read or modify system elements
App can create and modify virtual elements in sandbox
WriteCopy mode(Restricted Write Access)
App can read system elements Changes to system elements modified on access in sandbox
App can create and modify virtual elements in sandbox
Merged mode(Full Write Access)
App can read and modify system elements
App can create and modify virtual elements in sandbox
PRESENTED BY VMWARE
68
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
AppLink FundamentalsTravis Sales, Staff Systems Engineer, Global Product Specialist, Application Virtualization
Agenda
•Overview
-DynamicApplicationLinking
•UseCaseExamples
•ImportOrder
•Demo
View the AppLink Fundamentals video
PRESENTED BY VMWARE
69
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
The VMware ThinApp Solution
Agentless architecture
•Singlefile–EXE,MSI
•Noinstallationorchangestoregistry
•Zeromanagementrequiredonendpointdevice
Seamlessly fits into any environment
•Nostreamingserverhardwareorsoftwareneeded
•Plugsintoanyexistingmanagementframework
Run virtually any application from any device
•Desktop,USB,flash,terminalservices,Citrix
•Anywindowsapplication–simpletocomplex
•Supportingcomponentscanberunsidebyside(Java,.Net)
Ensuring security without compromising user flexibility
•User-Modeexecution
•VirtualRegistry/FileSystemprotectsunderlyinghostOS
•Nopre-installedagentrequiredonunderlyingOS
PRESENTED BY VMWARE
70
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Technical Discussion
AppLink
PRESENTED BY VMWARE
71
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
ThinApp AppLink – Dynamic Application Linking
Seamless Interoperability
•ThinApppackagescantalktogetherandwithOS
•EnablesinteroperabilitybetweenvirtualapplicationsandunderlyingOS
Enhance License Management
•Reducespackagesizetoeasedeploymentanddelivery
•Enhancessoftwarelicensemanagementtrackingviacurrentinventorytools
PRESENTED BY VMWARE
72
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
View of the Application using Application LinkThis image shows the running application with a merged view of the system, the base application, and all linked components. Files, registry keys, services, COM objects, and environment variables from dependency packages are visible to the base application.
PRESENTED BY VMWARE
73
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Application Link Uses
TheApplicationLinkutilityisusefulforthefollowingobjects:
Large shared libraries and frameworks
•Linkruntimecomponents,suchas.NET,JRE,orODBCdrivers,withdependentapplications.
-Forexample,youcanlink.NETtoanapplicationevenifthelocalmachinefortheapplicationpreventstheinstallationof.NEToralreadyhasadifferentversionof.NET.
-Ifyouhavemultipleapplicationsthatrequire.NET,youcansavespaceandmakeasingle.NETpackageandpointthemultipleapplicationstothe.NETpackage.Whenyouupdate.NETwithasecurityfix,youcanupdateasinglepackageratherthanmultiplepackages.
PRESENTED BY VMWARE
74
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Application Link Uses
Add-on components and plug-ins
•Packageanddeployapplication-specificcomponentsandplug-insseparatelyfromthebaseapplication.
-Forexample,youmightseparateAdobeFlashPlayerorAdobeReaderfromabaseFirefoxapplicationandlinkthecomponents.
-YoucandeployasingleMicrosoftOfficepackagetoallusersanddeployindividualadd-oncomponentsforeachuser.
-IfyoucaptureMicrosoftOfficeandtrytoaccessaPDFattachmentinthevirtualMicrosoftOutlookenvironment,youcansetupMicrosoftOfficetodetectalinkedAdobeReaderpackageonthenetworkwhenAdobeReaderisnotavailablewithintheimmediatevirtualorphysicalenvironment.
PRESENTED BY VMWARE
75
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Application Link Uses
Hot fixes and service packs
•Linkupdatestoanapplicationandrollbacktoapreviousversionifusersexperiencesignificantissueswiththenewversion.Youcandeployminorpatchestoapplicationsasasinglefileandreducetheneedforrollbacks.
-TheApplicationLinkutilityprovidesbandwidthsavings.Forexample,ifyouhaveMicrosoftOffice2007ServicePack1andyouwanttoupdatetoServicePack2withoutApplicationLink,youwouldtransfer1.5GBofdatapercomputerwiththedeploymentofanewOffice2007ServicePack2package.TheApplicationLinkutilitytransfersjusttheupdatesandnotthewholepackagetothecomputers.
PRESENTED BY VMWARE
76
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Nested Links with Application Link
ThinAppsupportsnestedlinkswiththeApplicationLinkutility.Forexample,ifMicrosoftOfficelinkstoaservicepack,andtheservicepacklinkstoahotfix,ThinAppsupportsallthesedependencies.
ThisprocedurereferstoAppA,whichrequiresAppB;andAppB,whichrequiresAppC.Assumethefollowingfolderlayoutfortheprocedure:
•C:\AppFolder\AppA\AppA.exe
•C:\AppFolder\AppB\AppB.exe
•C:\AppFolder\AppC\AppC.exe
PRESENTED BY VMWARE
77
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
Import Order for Linked Packages
ThinAppimportslinkedapplicationsaccordingtotheorderofapplicationsintheRequiredAppLinksorOptionalAppLinksparameter.Ifeitherparameterspecifiesawildcardcharacterthattriggerstheimportofmorethanonefile,alphabeticalorderdetermineswhichpackageisimportedfirst.
TheOptionalAppLinksparametermightappearas:
IMPORT ORDER LINKED PACKAgE
1 Base Application
1 a.exe
1 b.exe
1 Plug-ins loaded in alphabetical order
1 Nested plug-ins for a.exe
1 Nested plug-ins for b.exe
1 Nested plug-ins for the first set of plug-ins in this list
VMware, Inc. 3401 Hillview Avenue Palo Alto CA 94304 USA Tel 877-486-9273 Fax 650-427-5001 www.vmware.comCopyright © 2011 VMware, Inc. All rights reserved. This product is protected by U.S. and international copyright and intellectual property laws. VMware products are covered by one or more patents listed at http://www.vmware.com/go/patents. VMware is a registered trademark or trademark of VMware, Inc. in the United States and/or other jurisdictions. All other marks and names mentioned herein may be trademarks of their respective companies.
PRESENTED BY VMWARE
78
ThinApp Design Best Practicesby Ray Dusseault
ThinApp Implementation Best Practicesby Ray Dusseault
ThinApp Performance Enhancing Techniques by Dean Flaming
Scripting with ThinAppby Dean Flaming
Isolation Modes Explainedby Travis Sales
AppLink Fundamentals by Travis Sales
ThinApp Resources
ThinApp Resources
General Info & ResourcesThinApp Bootcamp http://www.vmware.com/go/thinappbootcamp
ThinApp Homepage www.vmware.com/thinapp
ThinApp Online Pubs bit.ly/ThinAppPubs
ThinApp Related Resources bit.ly/ThinAppResources
VMware Support support.vmware.com
VMware KB kb.vmware.com
Education and Professional ServiceThinApp Courses bit.ly/ThinAppCourses
Professional Services – Plan and Design bit.ly/ThinAppPlanAndDesign
Professional Services – Jumpstart bit.ly/ThinAppJumpstart
Community ResourcesThinApp Communities communities.vmware.com/thinapp
ThinApp Recipes bit.ly/ThinAppRecipes
ThinApp Blogs blogs.vmware.com/thinapp
ThinApp on Twitter @ThinAppGuru @ThePeb @ThinAppFactory @ThinApp_PSO
Videos & DocsThinApp TV bit.ly/ThinAppTV
ThinApp Videos bit.ly/ThinAppVideos
ThinApp Troubleshooting bit.ly/ThinAppTroubleshooting
ThinApp Best Practices bit.ly/ThinAppBestPractices
VMware PartnersVMware Partners www.vmware.com/partners
VMware Partner Locator vmware.com/go/partnerlocator
VMware Partner Products vmware.com/partners/alliances
top related