Introduction
In today’s era of rapid digital transformation, businesses thrive on agility and efficiency. Applications drive modern workflows, empower teams, and propel productivity. Yet traditional application management methods – including lengthy installations, compatibility issues, and resource constraints – often create bottlenecks, hindering the user experience and straining IT resources. This can be particularly challenging for legacy applications vital to some organizations’ lines of business but not compatible with modern operating systems.
As well, traditional application management methods can introduce security concerns. Direct system modifications during installations increase the attack surface, potentially exposing systems to vulnerabilities and malware threats. This can lead to data breaches, operational disruptions, and reputational damage.
VMware ThinApp is a mature solution that addresses these sorts of modern challenges by using agentless application virtualization to overcome the limitations of traditional application management methods. In this blog, we will review how ThinApp helped address several real-world scenarios Ferroque experienced in the field to deliver end-user infrastructure (EUI) engagements to countless customers. As well, this blog also guides how to start using ThinApp for any readers who are unfamiliar with this technology.
Understanding ThinApp
Before proceeding further, it is important to have a basic understanding of how ThinApp simplifies application management, enhances compatibility, and empowers users. It achieves this by creating a self-contained isolated environment for each application, eliminating conflicts and streamlining the application lifecycle. Below is an overview of how ThinApp works:
- Packaging the Application:
The process begins with ThinApp Composer, a tool that analyzes and captures the essential components of a Windows application, including:
- Executable Files: Core program files that are responsible for the application’s functionality.
- Configuration Files: Settings that define the application’s appearance and behavior.
- Registry Entries: Instructions stored within the OS upon which the application relies.
Once captured, these components are bundled into a single self-contained file called a ThinApp package. This package acts as a portable application environment, containing everything the application needs to run independently.
- Launching the Application
Double-clicking a ThinApp package initiates the launch process. However, ThinApp does not directly interact with the underlying OS; instead, it initiates the creation of a virtual environment within the OS.
This virtual environment acts as a sandbox, providing the application with a dedicated space to run without modifying the underlying OS or interacting directly with other applications.
- Resource Management
Unlike traditional installations that copy application files onto the system, ThinApp uses virtual representations of the application’s resources that include files, Registry entries, and environment variables. This approach minimizes storage space requirements and prevents potential conflicts with other applications.
ThinApp intelligently manages the resources needed by the application and only provides the virtual counterparts that are actively being used, further optimizing resource utilization.
- Application Execution
Within the virtual environment, the application utilizes the virtual counterparts provided by ThinApp to function independently. This isolation prevents conflicts with the underlying OS or other applications sharing the same physical resources.
The user interacts with the application as they usually would, unaware of the virtual environment beneath the surface. The application behaves and appears just as it would with a traditional installation.
- Cleanup (optional)
Once a ThinApp application is closed, the virtual environment can be configured to disappear automatically. This ensures that no temporary files or resources remain on the system, enhancing its efficiency and minimizing storage footprint.
ThinApp Use Cases and Benefits
Now that we have a basic understanding of how ThinApp works, it is easier to see how ThinApp’s capabilities extend beyond simple application virtualization, to offer solutions to many of today’s IT challenges. Let’s explore some compelling use cases using real-world examples from Ferroque’s field experience.
Use Case: Preserving Legacy Applications
Scenario: Imagine an extensive hospital network facing a critical dilemma: their legacy medical imaging application, vital for accurate diagnoses and treatment planning, is no longer compatible with their latest Windows OS upgrade. Replacing the application entirely would be a multi-million dollar project requiring months of validation and staff re-training.
Solution: The hospital network adopts ThinApp for legacy application support. They preserve the value of their existing application(s) while ensuring compatibility with their modern OS, minimizing disruption to patient care, and optimizing resource allocation within their IT budget.
Benefits:
- Cost Savings: The hospital avoids a costly and disruptive replacement of the medical imaging system, resulting in significant financial savings.
- Operational Continuity: Critical medical imaging services remain available without interruption, ensuring seamless patient care and maintaining established diagnostic workflows.
- Minimized Staff Disruption: Medical personnel can continue using familiar software, avoiding the need for re-training on an entirely new system, thus preserving productivity.
- Reduced Compliance Risk: By maintaining the legacy application, the hospital reduces the risk of potential compliance issues that could arise with a new, untested system.
- Focused IT Resources: The IT team can dedicate their time and resources to other strategic initiatives, instead of being consumed by a significant software migration project.
Use Case: Streamlined Training Environments
Scenario: A software company regularly conducts training sessions with new clients or employees for their complex enterprise software. Setting up consistent, isolated training environments on numerous machines is time-consuming.
Solution: ThinApp packages the enterprise software along with pre-configured data sets, sample projects, and any necessary dependencies. These packages are then deployed to training computers from a central location or loaded onto USB drives for mobile use.
Benefits:
- Time Savings: Ongoing, trainers and IT support staff save significant time by eliminating the repetitive installation and configuration of the training environment on each machine.
- Consistency: Ensures every training session starts with an identical pre-configured software environment, promoting a smoother learning experience for participants.
- Reduced Errors: Potential issues caused by misconfigurations or missing dependencies are minimized, improving overall reliability of the training sessions.
- Enhanced Focus: Trainers can focus on teaching the software itself instead of troubleshooting installation problems, maximizing the value of training sessions.
- Scalability: Quickly expanding training capacity as needed becomes easier, as new ThinApp packages can be quickly and easily deployed to additional machines.
Use Case: Protecting Intellectual Property
Scenario: A technology firm engages external contractors for specialized development tasks. The company must provide access to proprietary software tools while protecting their intellectual property.
Solution: ThinApp virtualizes the tools and restricts access to specific project directories within the package. Contractors can launch the software within a secure sandbox, preventing them from copying or modifying program files on the host system.
Benefits:
- IP Protection: The company’s intellectual property remains secure, reducing the risk of unauthorized leaks, modifications, or reverse engineering of their software tools.
- Controlled Access: Contractors have a clearly defined working environment, limiting access to sensitive areas of the host system and the company’s broader network.
- Compliance: The company maintains compliance with contractual obligations and/or industry regulations regarding the safeguarding of proprietary information.
- Streamlined Collaboration: External contractors can efficiently work on the project without the need for full installations of the company’s software, reducing setup time and complexity.
- Reduced Liability: ThinApp’s isolation features minimize the potential liability that may arise from unauthorized software distribution or data breaches resulting from contractor actions.
Use Case: Maintaining Consistency and Extending Lifecycle
Scenario: A small non-profit organization uses a mix of donated and purchased computers with different OS versions. They need everyone to use the same version of their accounting and donation management software.
Solution: The organization’s IT volunteer packages the essential software using ThinApp. The team deploys the packages from a central network share for easy access.
Benefits:
- Consistency: Everyone on the team uses the exact same software version regardless of their computer’s individual OS, ensuring compatibility and smooth data exchange.
- Reduced Support Overhead: The IT volunteer reduces her workload by not having to troubleshoot compatibility issues between different software versions or OS’.
- Simplified Management: Updating or patching the software is as easy as updating a single ThinApp package on the network share (vs. updating all endpoints), which then automatically benefits all team members.
- Resource Optimization: The non-profit can make the most of donated hardware without worrying about OS compatibility issues, maximizing the value of available resources.
- Cost Savings: The organization avoids unnecessary licensing fees for multiple software versions and may be able to extend the lifespan of older computers.
Use Case: Managing Personal Software Preferences
Scenario: An IT administrator prefers a specific set of older “tried and true” utility tools with which he has become very proficient and has customized their setup, and wants to maintain this environment when switching between home and work endpoints.
Solution: The IT administrator virtualizes his preferred toolset and settings with ThinApp on a portable USB drive.
Benefits:
- Productivity Boost: The administrator can immediately start working in a familiar, optimized environment, saving time and frustration as they move between computers.
- Comfort and Efficiency: Maintaining the customized setup of older tools ensures the administrator can use them with maximum efficiency and no learning curve.
- Security: The portable ThinApp package reduces the need to install software directly on company machines, potentially enhancing security by limiting the administrator’s system footprint.
- Flexibility: The portability of the USB drive allows the administrator to easily use their preferred toolkit on any machine upon which they are temporarily working.
- Legacy Support: The administrator can continue to use their favorite tools even if they are no longer officially supported on newer operating systems.
Use Case: Rapid DR for Critical Systems
Scenario: A financial institution’s core banking applications run on a central server. In a catastrophic system failure, restoring client services and internal operations in the shortest possible timeframe is mission-critical.
Solution: Prepare pre-packaged ThinApp versions of vital banking applications alongside any necessary databases or middleware. These packages can be stored securely and deployed onto temporary workstations or laptops.
Benefits:
- Minimized Downtime: Critical banking services can be restored quickly on readily available equipment, dramatically reducing the impact on clients and internal operations.
- Reduced Recovery Complexity: Pre-packaged ThinApp applications eliminate the need for complex, time-consuming software installations during a crisis.
- Business Continuity: The financial institution maintains operational resilience, safeguarding reputation and avoiding significant revenue loss due to prolonged downtime.
- Preparedness: Having pre-packaged ThinApp applications as part of a DR plan strengthens overall preparedness and reduces the potential for errors during a stressful event.
- Cost-effectiveness: ThinApp offers a cost-effective way to improve DR readiness when compared to maintaining standby hardware that mirrors the primary production environment.
Getting Started with VMware ThinApp
ThinApp is a mature technology that may still be new to many IT professionals, so in this section, I will demonstrate how to package and deploy a legacy Windows application to multiple endpoints in an organization wherein the application is not compatible with the latest version of Windows.
Note that ThinApp is compatible with a wide range of applications, although as a leading practice, it is essential to test and verify the compatibility of specific applications before deployment.
Preparing the Environment
Before getting started, ensure the availability of the following:
- A license for VMware ThinApp (included in VMware Horizon licensing).
- A Windows machine for creating and configuring the virtual application. This machine is called the “Capture Machine”, which is a legacy Windows version where the application is currently installed.
- A clean, well-maintained snapshot or VM to capture the application – the cleaner the system, the better the package will be.
- VMware ThinApp is installed on the Capture Machine.
- The installation files for the application will be packaged.
Capturing the Application
Download the application to capture and copy it to the clean computer on which the capture process will be run.
For this example, I used the application “7 Sticky Notes”.
- From the desktop, select Start> Programs > VMware > ThinApp Setup Capture. The ThinApp Setup Capture wizard appears.
- Click Next. The Ready to Prescan window appears.
- Click Prescan to establish a baseline system image of the hard drive and Registry files.
- When the Install Application window appears, minimize the Setup Capture wizard and install the application to capture.
- For example, double-click Setup7StickyNotesv19.exe to install 7 Sticky Notes.
- If the application needs to restart after the installation, restart the system. The process restarts the Setup Capture wizard.
- Make any necessary configuration changes to comply with organizational policies, such as using specific security settings or a particular home page.
- If no configuration changes are made at this time, each user must make changes.
- Start the application and respond to any messages for information before continuing with the Setup Capture wizard.
- If an administrator does not respond to any messages at this time, each user who uses the application must do so during the initial start.
- Close the application.
- Maximize the Setup Capture wizard, click Postscan to proceed with another computer scan, and click OK to confirm the post-scan operation.
- Make sure only the required executable is selected as an entry point. Click Next to continue.
- An administrator can restrict ThinApp access to users or groups in a domain environment. In this example, access has been granted to Everyone.
- Set the isolation mode as required. In most cases, the isolation mode will be Full by default. Click Next to continue with the capture.
- To deploy the sandbox to a local machine, use the user’s profile as the sandbox location.
- Provide a name and project folder location for the captured application.
- An .EXE entry point was selected to embed everything into one executable (the option to create an .MSI file to deploy via SCCM or Group Policy is also available).
- The package is ready to be built once the application generates the required files. Select Build to complete the application capture process.
Testing the Packaged Application
- Locate the project folder that was identified earlier (step #16) and copy the executable to the local computer of a Windows 11 desktop.
- Run the executable. The following screenshot illustrates that the application 7 Sticky Notes can run without compatibility issues on a Windows 11 desktop.
In Conclusion
As we can see, VMware ThinApp is a powerful tool for businesses looking to streamline application management and improve compatibility. The ability to virtualize applications, isolate them from the host OS, and simplify deployment makes it an asset in today’s IT environment. By leveraging VMware ThinApp, organizations can reduce the complexities associated with software distribution and maintain a more efficient and secure computing environment.
Ferroque Systems has decades of expertise and experience in end-user infrastructure and guiding customers on their digital transformation journey, including Professional Services (to deliver projects such as design, deployment, and rollout) and Managed Services (to provide turnkey ongoing operational support and management). We would be happy to talk through any questions/etc. regarding any of the technologies and use cases discussed herein, and are available at hello@ferroquesystems.com or via phone at (416) 607-7165.
-
Stephane Simpson
Stephane is an experienced VMware Consultant specializing in Virtual Desktop Infrastructure (VDI) solutions, with expertise in designing, implementing, and optimizing VDI environments to enhance efficiency, streamline user experiences, and improve data security.