Wednesday 13 February 2019

Back to Basics Part 18 - Application Virtualization with VMware ThinApp

As promised the New- Back to Basics Series is here with some new posts and blogs from other verticals not just Server Virtualization (VMware vSphere ),for example this post is dedicated toward's the VMware’s End User Computing focussing on VMware ThinApp, few other blogs which are currently in draft for the *New back to basics series will be available soon and will be focussing on other products including VMware vSAN, VMware NSX and VMware vSphere.

VMware ThinApp

1 ) ThinApp is an agent less application virtualization solution which helps us accelerate the deployment of application delivery and also eliminate the burden of provisioning, patching and updating applications and images. ThinApp virtualize the application by encapsulating the application files and registry into a singe thin app package which can be deployed independently from the underlying operating system. 

2 ) Each application is packaged and encapsulated into its own container which is separate from any other application. This is done with the help of three important components of ThinApp Package including The ThinApp runtime, The application’s file and registry modifications and The sandbox.

3)  The ThinApp loads the ThinApp runtime as soon as the packed application executable is started by the user, which then encapsulates and virtualizes all the calls that applications makes to the operating system for registry settings, and other services by creating a virtual environment or a thin layer between the application and the operating system.

Image Source - https://blogs.vmware.com/euc/


4) Sandbox contains shadow directories for all native file directories that are affected during application runtime. The Sandbox Directory holds an application's user-configurable settings for example if one of the user want www.vmware.com as his home page however the other user may like to create www.google.com as his home page.

** Sandbox is not a Cache it stores the user settings persistently.

5) The application files and registry modifications are done by the ThinApp packaging process which scans the native file system and registry before and after the installation of the application which we are planning to virtualize. During the pre and post installation phases the snapshot.exe utilitiy scans and records files attributes of each file in the file system and registry keys, it also compares the two snapshots and find out which files and registry key were changed so as they can be tracked in a separate ThinApp project folder.


6) Once snapshot.exe has determined the changed files those files are added to the application project directory, which then becomes the Virtual File System during the ThinApp Build process. When build.bat runs, it starts the vftool.exe tool (Compiles the virtual file system during the build process of the captured application), and builds entries in the FS registry key under HKEY_LOCAL_MACHINE

7) Virtual Registry stores the registry settings used by the applications and ThinApp runtime, after the snapshot.exe has determined which registry keys changed during the application installation and configuration, the keys are recorded in text files in the application project, and there are three main files HKEY_CURRENT_USER.txt , HKEY_LOCAL_MACHINE.txt AND HKEY_USERS.txt.

8) We can control the level of interaction between the application and the native system by using different Isolation Modes 1) Merged isolation mode is the default isolation mode for file system wherein the updates to the files system and registry are merged with native file system. 2) Write Copy File and Registry Isolation mode- The user can read from the native file system and for write operations the user writes to a copy of native file system in the Sandbox. 3) Full File and Registry Isolation Mode means that the user can neither read nor write to the native file system.

9) ThinApp Application package can be deployed in various modes 1) Deployed Execution Mode wherein the package (executable file) is first deployed to end user's system and then accessed from local device, user's execute the copy of ThinApp package like any other natively installed windows application. 2) Streaming Execution Mode - As the name suggests enables the application to be centrally stored and accessed by multiple users wherein the package loads directly into memory and no disk storage is required.

10) VMware ThinApp 5.2.4 is the latest version released in September 2018 with additional support for Windows 10 1709 and Windows 10 1803 and an additional parameter availability in package.ini ReleaseShutdownLocksEarly, Setting this parameter to 1 fixes an issue that could cause a process to hang during shutdown.





No comments:

Post a Comment