Q&A :VMware ThinApp – Part 1

       In Application virtualization technology, VMWare ThinApp is an emerging technology .I felt it is very interesting technology as it has many advantages and very amiable features..Let me share with you some of the basic information about this technology.

 1.What is VMware ThinApp

       VMware ThinApp enables you to package, run, and manage your software applications. ThinApp captures

the installation of applications into a single executable file and enables you to install your captured applications with no dependencies on the host personal computer (PC). ThinApp does this by virtualizing the application.

 2.Why we virtualize an application?

       Application virtualization enables the deployment of software without modifying the local operating system or file system. It allows you to deliver and update software in an isolated environment while ensuring the integrity of the operating system and all applications. This significantly reduces application conflicts and the need for regression testing. A single application can be bundled and deployed to multiple operating system versions. Applications are easier to provision, deploy, upgrade, and roll back.

3.What is machine virtualization?

Machine virtualization, as accomplished with VMware products like Workstation and ESX, decouples operating systems from the underlying hardware. This is done by abstracting the physical hardware resources and presenting them to the operating system as virtual resources. The result is a higher degree of hardware independence, isolation, and encapsulation than can be achieved with operating systems installed directly onto hardware resources.

4.What is application virtualization?

Application virtualization with decouples applications from the underlying operating system. Abstracted operating system resources are presented to the application as virtual resources. The result is a higher degree of independence, isolation, and encapsulation than for applications installed directly into an operating system environment.

5.How ThinApps works?

ThinApp works by using a build process to “link” the virtual operating system with a compressed embedded file system and registry into a single executable file. The executable file can run with zero installation, and without decompressing files to disk, from any data source including your desktop, a network path, or removable storage like USB Flash and CD ROM. ThinApp enables applications to run directly from storage devices such as USB flash or network shares in an efficient manner by using block based streaming with transparent decompression.

 ThinApp accomplishes “zero installation” by presenting a virtual environment to the running application, making it appear as if all of its files, registry entries, environment variables, COM/ActiveX controls, services, and so on are already installed on the PC, even though no changes have actually been made.

6.What are the features of ThinApp?

  • User Mode Operation
  • Virtual Side-By-Side (SxS) Support
  • Application isolation
  • Multiple Simultaneous Client Application Versions
  • Instant Portable Deployment of Applications on USB Flash or CD-ROM
  • ThinApp Applications Are Loaded as Normal Applications
  • Setup Capture
  • Text-Based Settings Files
  • Compressed data does not need to be decompressed to a disk before it can be accessed.
  • Application Sync-to deploy ThinApp application updates.
  • Application Link-to connects deployed applications
  • Terminal Server and MetaFrame Support
  • Virtual File System
  • Virtual Registry
  • Virtual COM
  • Dynamic Remapping
  • Virtual Services
  • Scripting
  • Active Directory Authentication
  • Packaging Runtimes

7.What are the Security Features of ThinApp

  • Group policy security
  • Runs in restricted user accounts
  • Allows applications requiring administrator rights to run without additional privileges

8. What is sandbox

The sandbox holds runtime modifications that applications make as they are running. The executable that you build never changes, so it can be placed in a shared folder with read‐only access. The sandbox has the following features:

􀂄 Provides per‐user and per‐application storage of application modifications.

􀂄 Provides protection for the host machine since the virtual application is self‐contained.

􀂄 Enables applications to run on Terminal Server if they are not already able to do so.

􀂄 Enables most applications to run on Vista if they are not already able to do so.

􀂄 Enables IT to maintain locked‐down desktops.

􀂄 Reverts to a known application state when you delete the sandbox.

9.In which mode the applications run in ThinApp

            User mode

10.What is Dynamic Path Relocation

 Dynamic path relocation is the ability to move files and modify registry values to match the local host PC. ThinApp performs dynamic remapping during application startup and at runtime. Dynamic remapping enables both applications and their associated settings to migrate across different versions of Windows.

11.What is shrortpath name?

Short path names are DOS 8.3 compatible names that map into their long path name equivalents.

  • Short path names eliminate spaces from paths that prevent some compatibility and security issues.
  • Short path names enable compatibility with legacy applications—16 bit applications must use DOS 8.3 filename paths. When Windows runs 16 bit applications, it provides applications with the short path name version for all filenames.
  • Short path names work around Windows API path length limitations. Many Windows API functions have limitations on the maximum string length they can handle for paths.

12.What are the Common areas of failure that occur when proper short path name support is not available?

􀂄 Inprocess and outofprocess COM failure – The application tries to create COM objects and fails because the registry values point to the inprocess or outofprocess COM server no longer point to the correct location.

􀂄 An MSI is executed to reinstall an application even though it was fully installed – msi.dll performs an integrity check for all MSI installed components requested by an application. If msi.dll detects that a DLL or data file is not located at the same location that it was originally installed to, it kicks off a reinstallation procedure to try to correct the problem.

􀂄 Child processes fail to execute – Many child process applications are executed using registry values that point to short path names. If the values do not point to the correct location, the child process fails to launch. This often enders an application unusable.

􀂄 An application fails to load – Applications might fail or do not load properly because they cannot locate the installation path or shared DLL paths using registry data.

􀂄 An application indicates there are missing data files – An application might display error messages relating to missing files because it can no longer locate a file using a short path name pointer from the registry.

13.How VMWare ThinApp Solve the Short Path Name Migration Problem

      When an application writes a value to the registry, ThinApp scans the data for references to a short path name or shell folder location. If the application does this, VMware ThinApp stores the value internally in macroformat that encodes both the shell folder location as well as the long path name value for a short path name.

At runtime, when an application queries the same registry value, it receives the original value it wrote to the registry. If the application moves to a different PC where the short path names are different, it obtains an automatically adjusted value.

14.Which DOS command you can use to view list of shortpath names

     Dir /x

15.How the Virtual services will start whle launching the Application?

ThinApp uses the registry values captured by Setup Capture to determine if it should automatically start a virtual service when its host application is executed.

If the Service Startup Type is Automatic, ThinApp starts the service automatically before executing the host application.

If the Service Startup Type is Manual, ThinApp does not start the service until a host application specifically starts the service using service API calls

16.How ThinApp will package Services

ThinApp can be used to package services in a virtual service or a real Windows service. Virtual services run per user and real services run per machine.

Virtual services have the following features:

􀂄 They are packaged together with a main supporting application.

􀂄 They run on application start up.

􀂄 They run under the user account that runs the application.

􀂄 They can be started and stopped only by virtual applications in the same sandbox (visible to theservices control panel services manager when you run from virtual cmd.exe).

􀂄 They do not require installation  or systemrelated changes.

By default, any application that installs a service automatically uses virtual services. When you use Setup Capture to capture an application that installs virtual services, no changes are needed to your project to run virtual services.

 Real Windows services have the following features:

􀂄 They are packaged as a separate captured executable files.

􀂄 They run on boot‐up.

􀂄 They run under the account specified by the service.

􀂄 They are directly visible to the control panel services manager.

􀂄 They can be started and stopped by any application.

􀂄 They require global system registry changes.


[To be continued..]


Reference : Introduction to VMware ThinApp by VMware


3 Responses to “Q&A :VMware ThinApp – Part 1”

  1. 1 Kent February 20, 2011 at 7:59 am

    Hi, the info given here is very useful one. Thank you for that. I just want to know is there any way to inject hardware information like CPU-ID, BIOS information in capture file so as to incorporate hardware based license in Thinapped application. MAC address, and drive volume information can be done.. but i am not sure about bios information and cpu id information.

    Thank you.

  2. 3 Sreedhar S February 27, 2012 at 2:14 pm

    I have installed my app using thinapp, but when I try to run my application that goes and installs/starts services its not responding…
    How to overcome this

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: