the (not so) dark art of application packaging and profilingdl.geekboy.pro:8080/vmworld...

29
#vmworld ADV2272BU The (Not So) Dark Art of Application Packaging and Profiling Joseph Cooper, VMware, Inc. Linus Bourque, VMware, Inc. #ADV2272BU VMworld 2019 Content: Not for publication or distribution

Upload: others

Post on 05-Nov-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

#vmworld

ADV2272BU

The (Not So) Dark Artof Application Packagingand Profiling

Joseph Cooper, VMware, Inc.Linus Bourque, VMware, Inc.

#ADV2272BU

VMworld 2019 Content: Not for publication or distribution

Page 2: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

©2019 VMware, Inc.

Disclaimer

This presentation may contain product features or functionality that are currently under development.

This overview of new technology represents no commitment from VMware to deliver these features in any generally available product.

Features are subject to change, and must not be included in contracts, purchase orders, or sales agreements of any kind.

Technical feasibility and market demand will affect final delivery.

Pricing and packaging for any new features/functionality/technology discussed or presented, have not been determined.

2

The information in this presentation is for informational purposes only and may not be incorporated into any contract. There is no commitment or obligation to deliver any items presented herein. VMworld 2019 Content: Not for publication or distribution

Page 3: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

©2019 VMware, Inc. 3

This session will look at how to best virtualize 4 example applications, going from a simplistic example to a more complex one. For each we’ll look at which tools will be needed for the task and what pitfalls to watch out for.

Please keep in mind: This session will be a guideline and your own experience may difference from ours due to variables that are different between our environment and yours.

What this session will cover

Introduction

VMworld 2019 Content: Not for publication or distribution

Page 4: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

©2019 VMware, Inc. 4

Just in Time Delivery of applications to your users

Deliver only the applications a user needs

Simplify Windows template/gold master management

Simplify application lifecycle management

Optimize software license costs

Allow your users to personalize their computing experience

Provides consistent user experience across computing sessions

Dynamically adjust settings based on the user “stance”.

Where is the user?

Who is the user?

What device(s) are they in front of?

App Volumes User Environment Manager

Exactly…What You Need. Where You Need It. When You Need It.Delivering Applications and Settings to your users with VMware App Volumes andUser Environment Manager

VMworld 2019 Content: Not for publication or distribution

Page 5: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

©2019 VMware, Inc. 5

Persistent Non persistent

Benefits for IT:

• Update and deliver applications in seconds

• Secure data in datacenter

• The economics of nonpersistent virtual desktops

Benefits for End Users:

• Customizable desktops and applications

• Consistent user experience across sessions

Truly Stateless Desktop

Persistent Experience with Nonpersistent Components

VMworld 2019 Content: Not for publication or distribution

Page 6: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

6©2019 VMware, Inc.

VMware App Volumes 2.xThe professional’s guide to packaging

VMworld 2019 Content: Not for publication or distribution

Page 7: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

©2019 VMware, Inc. 7

Managed Application Containers

Just-In-Time Application ModelTraditional Model

OS

ApplicationsData/Files

Settings

OS

App Volumes Agent

AppStack AppStack User Changes

VMworld 2019 Content: Not for publication or distribution

Page 8: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

©2019 VMware, Inc. 9

Basics of Application Delivery through AppStacks

User-1 Volume

User-2 Volume

User-3 Volume

User-n Volume

Writable volumes

OS OS OS OS

OS OS OS OS

AppStacks

Nonpersistentpool

Pristine image at the start of every session

VMworld 2019 Content: Not for publication or distribution

Page 9: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

©2019 VMware, Inc. 11

Simple Application Provisioning

2Mount the AppStack and install applications

1Create a new, empty AppStack

3 Provision the AppStack

VMworld 2019 Content: Not for publication or distribution

Page 10: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

©2019 VMware, Inc. 12

• Install applications on a dedicated provisioning machine

• Applications are installed in the new AppStack

• Applications with common dependencies should be installed in the same AppStack

• Applications can be installed using any conventional method

• In provisioning mode, the AppStack has the following characteristics:

– Logically located in the C: Drive

– Physically located on the AppStack virtual disk

– Files, folders, registry entries, desktop shortcuts, and file associations are stored

Provisioning and Installing Applications

Virtual DiskVirtual Disk

App Volumes Agent

Base OS

AppStack

R/W

VMworld 2019 Content: Not for publication or distribution

Page 11: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

©2019 VMware, Inc. 13

Ease of application lifecycle management

Greater ability to provide exactly the right apps for your users

Performance improvements in AppVolumes 4.0, just now available as a public beta, allow for many more AppStacks per VM.

Outcome

Benefit

This Process Changes with AppVolumes Next?Single App AppStacks

Simplified Application Management

• Decouple package management and delivery

• Manage the full lifecycle of an application

• Package once and deploy everywhere

New Features:

• Single App Packaging

• Smart Delivery and On-Demand Applications

• Application Lifecycle Management

VMworld 2019 Content: Not for publication or distribution

Page 12: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

©2019 VMware, Inc. 14

Creating Your Packaging Machine

Same version of Windows as your “Gold Master”

Check the Release Notes to ensure that your version of Windows is supported by your version of AppVolumes, User Environment Manager, and Horizon Agents

Use the Guest OS Optimization tool and apply appropriate template for AppVolumes

Clean version of Windows that matches the patch levels of your “Gold Master”

VMworld 2019 Content: Not for publication or distribution

Page 13: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

©2019 VMware, Inc. 15

The Story is Too Simple, and We Want to Know More…

Screenshot of Windows Explorer showing snapvol.cfg is shown

here… this is a temporary screenshot

What is actually captured when we provision an AppStack?

VMworld 2019 Content: Not for publication or distribution

Page 14: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

©2019 VMware, Inc. 16

Modify SNAPVOL.CFG to ensure that you’re capturing the right stuff

Understanding Your Application (1)

VMworld 2019 Content: Not for publication or distribution

Page 15: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

©2019 VMware, Inc. 17

But… how do I know what my application installer is actually laying down in my file system?

Understanding Your Application (2)

Remember ThinApp?

ThinApp Project Folder and Files

Build

Preinstallation Scan

Attributes ofFiles in the File System

RegistryKeys

Delta

ThinApp Package

Virtual Registry

Virtual File System

Virtual Operating System

Application

Registry Access

File Access

Install Application

1 2

3

Attributes ofFiles in the File System

RegistryKeys

VMworld 2019 Content: Not for publication or distribution

Page 16: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

©2019 VMware, Inc. 18

ThinApp also Captures Changes to the Guest OS

Package.ini includes a

listing of directories and registry settings change

Open the Package.ini file

to update settings:

• Sandbox location

• Compression setting

Build the project:• Run the build.bat file to

build and test the package.

And… makes them easy to see

VMworld 2019 Content: Not for publication or distribution

Page 17: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

©2019 VMware, Inc. 19

Inventory Name and Project Location

• The name that you provide for the ThinApp project in the Inventory Name text box, appears in the Add or Remove Programs list.

• The best practice is to leave the default name.

• The output of the setup capture process gets stored as project location.

• The default folder is the Captures folder, under the C:\Program

Files\VMware ThinApp

directory.VMworld 2019 Content: Not for publication or distribution

Page 18: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

©2019 VMware, Inc. 20

Sample Package.ini File

What’s in the box?

ThinApp’s package.ini will give you a clue as to the behavior of the app.

VMworld 2019 Content: Not for publication or distribution

Page 19: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

©2019 VMware, Inc. 21

ThinApp Project Directory

Sometimes ThinApp can be used to build out the registry/file structure so we can better understand what is needed for AppVolumes/UEM.

Once we understand what the application installer has actually done, we can go back to snapvol.cfg and

make sure that everything has been captured.

Shows file system and registry changes made during the install process

Screenshot of Project Directory

Highlighting the /bin and .reg file

VMworld 2019 Content: Not for publication or distribution

Page 20: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

©2019 VMware, Inc. 22

Basic troubleshooting tools:

• ThinApp Log Monitor

• Microsoft tools:

– Process Explorer

– Process Monitor

Other useful tools:

• Dependency Walker from http://www.dependencywalker.com

• Large-text-file viewer: EditPad Lite, Notepad Lite, Notepad++, TextPad

• Comparison utility: Beyond Compare from Scooter Software

Third-party tools should be used with care (no warranty/support from VMware).

The more tools we have in our belt the better

Other Troubleshooting Tools

VMworld 2019 Content: Not for publication or distribution

Page 21: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

©2019 VMware, Inc. 23

Requirements needed:

• Disable auto-updating

• Use 32-Bit Version

• Use Office 365 ProPlus

• User Environment Manager 9.3+, App Volumes 2.12+ and Horizon 7+

• Recipe from https://techzone.vmware.com/

Tools to help configure/troubleshoot:

• OS Optimization Tool

• Microsoft’s Office 365 Client Performance Analyzer (https://support.office.com/en-us/article/Office-365-Client-Performance-Analyzer-e16b0928-bd38-423b-bd4e-b8402bc106aa)

• Microsoft Office Configuration Analyzer Tool (https://support.microsoft.com/en-us/help/2812744/office-configuration-analyzer-tool-offcat-information)

• Microsoft Configuration XML Editor (for Deployment Tool) (https://officedev.github.io/Office-IT-Pro-Deployment-Scripts/XmlEditor.html)

• Consider using RDSH pools

The biggest challenge of all!

Office 365 (2016)

VMworld 2019 Content: Not for publication or distribution

Page 22: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

©2019 VMware, Inc. 24

You cannot install two products together that use different versions of the Click-to-Run installation technology.

Try not to co-mingle Office 2016 with earlier versions of Office

Install all Office applications in a single AppStack

• Create a separate AppStack for your Visio and Publisher Users

• This AppStack should also include the other Office apps

• Consider putting Office on “Gold” image

Use KMS Licensing for Activation

• Your packaging system should not include the Horizon Agent. It interferes with the ability to capture licensing information.

Recipe at https://techzone.vmware.com covers all other requirements

The biggest challenge of all!

Office 365 (2016)

VMworld 2019 Content: Not for publication or distribution

Page 23: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

©2019 VMware, Inc. 25

Printer (and other) drivers should be installed in the Gold Master, but what about other software?

You have to tell AppVols to ignore the printer registry keys whencapturing apps that write to those keys.

Here’s where you’ve got to modify snapvol.cfg.

1. Once provisioning has started on the capture machine browse toC:\snapshotvolumetemp\ (hidden volume when provisioning is being performed)

3. Drill down to the mountpoint and unique ID folders and edit the file snapvol.cfg and add the following lines

in the exclude_registry area (or anywhere if you're messy).

exclude_registry=\REGISTRY\MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers

exclude_registry=\REGISTRY\MACHINE\SYSTEM\ControlSet001\Control\Print\Printers

4. Complete provisioning mode.5. Assign users.6. Test

Uh… what happened to my printer?

Printers (PDF and others)

VMworld 2019 Content: Not for publication or distribution

Page 24: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

©2019 VMware, Inc. 26

Ideally: Use writable volumes and allow your users to manage Chromeand the extensions they want.

• Chrome looks for extensions on your system but won’t find them if there is no drive letter assign to your Writable Volume.

• Modify HKLM\SYSTEM\CurrentControlSet\services\svdriver\Parameters

Alternatively: Install Chrome in an AppStack along with extensions required by all users.

o Always download the “enterprise” versions of any installer

o https://cloud.google.com/chrome-enterprise

o Settings and files are copied into c:\ProgramData instead of c:\users\%username%

The bane of my existence

Google Chrome and Extensions

VMworld 2019 Content: Not for publication or distribution

Page 25: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

©2019 VMware, Inc. 27

Leverage VMware Marketplace Config Templates (new as of 9.5)

• Must have TLS 1.2 enabled. If not available check out KB2147909 for links to download.

• Connect to my.vmware.com

The other “UEM”

Managing the Apps (1)

VMworld 2019 Content: Not for publication or distribution

Page 26: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

©2019 VMware, Inc. 28

Consider using Application Profiler

• Helps to build application configuration files

The other “UEM”

Managing the Apps (2)

VMworld 2019 Content: Not for publication or distribution

Page 27: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

©2019 VMware, Inc. 29

What to include/exclude??

• Know your apps or get a SME to help you

The other “UEM”

Managing the Apps (3)

VMworld 2019 Content: Not for publication or distribution

Page 28: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

VMworld 2019 Content: Not for publication or distribution

Page 29: The (Not So) Dark Art of Application Packaging and Profilingdl.geekboy.pro:8080/VMworld 2019/ADV2272BU.pdf · for the ThinApp project in the Inventory Name text box, appears in the

VMworld 2019 Content: Not for publication or distribution