The Thinfinity® VirtualUI Injector is a powerful tool designed to simplify and accelerate the application virtualization process using the Thinfinity VirtualUI protocol on the Workspace Server. This advanced injector seamlessly integrates the necessary libraries into applications without requiring recompilation, recoding, or extensive testing, significantly improving deployment efficiency.
It is especially effective for virtualizing complex applications that depend on external DLLs or third-party components, even when source code access is limited. The injector supports a wide range of programming languages and frameworks, accommodating both 32-bit and 64-bit architectures.
Upon activation, it analyzes the application's structure and intelligently applies modifications to ensure a seamless user experience. The result is a responsive, web-like interface with full native functionality. Key features such as file transfers, drag-and-drop operations, and printing are optimized to deliver a smooth, consistent experience across devices.
When virtualizing an application with Thinfinity VirtualUI, adding the DLL directly to your code provides a handle to the VirtualUI library, allowing you to customize its behavior by modifying the application's code.
In contrast, the injector automatically applies default behaviors to application events, which cannot be adjusted during runtime. However, in most cases, the injector performs as expected, requiring no changes to the application. It also serves as a quick way to preview how your application will function as a web-based app.
Key functionalities such as file transfers (IN/OUT), file open/save dialogs, drag-and-drop, printing, and executing virtualized processes (e.g., ShellExecute) are supported by default. Additionally, you can mix 32-bit and 64-bit applications within the same project, enabling seamless interaction between them, and combine native VirtualUI integration with injected components as needed.
<YourAppName>.Thinfinity.ini
in the same directory as your application's executable (<YourAppName>.exe
).[Options]
OptionsSet=$1000
This file establishes the necessary settings for Thinfinity VirtualUI to properly interact with your application.
This technique is useful when virtualizing an application that calls another executable, whether as a pure or injected app. In such cases, it may be necessary to preserve the original name of the executable file. Applications like reporting tools, data analysis software, or specialized communication products are common candidates for this approach.
However, renaming the executable can sometimes cause issues, particularly with 64-bit applications. For example, VB.NET applications often have built-in protection mechanisms that prevent them from functioning correctly if renamed (e.g., changing
<app>.exe
to<app>_real.exe
).In contrast, 32-bit applications are generally more tolerant of renaming and can continue to function normally after the name is changed.
Always test thoroughly after renaming to ensure the application behaves as expected.Follow These Steps to Rename Your Application:
- Rename
<app>.exe
to<app>_real.exe
.- Copy
C:\Program Files\Thinfinity\Workspace\bin32\LauncherExp.exe
to the application's directory.- Rename
LauncherExp.exe
to<app>.exe
.- In the Thinfinity Workspace Console, create a VirtualUI profile and set
<app>.exe
as the executable.
You can configure the launcher as a profile to test your applications. As mentioned earlier, not all applications are suitable for the injection process, so this allows you to test compatibility. Ensure you use the correct architecture—use the x64 version for 64-bit applications in this example.
When it runs, a Virtualizer window will open. Upon clicking on Virtualize, you can select the application to inject. In this case, selectC:\Windows\System32\notepad.exe
and then click Open.
User Experience (UX)When you inject an application, the user experience closely resembles that of a native web application.Continuing with the example, if you choose File > Open, the injected application will open a dialog box allowing you to select the file from your local system, rather than from the server side.Similarly, when you select File > Print, the Thinfinity VirtualUI Printer will appear as the default printer.
It converts the print job to PDF and displays the results in the browser.