vmw thinapp bootcamp

78
Start Now

Upload: compunerd

Post on 21-Apr-2015

292 views

Category:

Documents


3 download

TRANSCRIPT

Start Now

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