Infopulse - Expert Software Engineering, Infrastructure Management Services
Send message Request a call
Send message Please fill in this quick form and we will send you a free quote shortly.
* Required fields
Request a call Please fill in this quick form and we will call you back shortly.
* Required fields
Subscribe to Infopulse Newsletter Please fill in this quick form to be among the first to receive our updates.
* Required fields
Send an email to Oleksii Boldyriev Please fill in this quick form to contact our expert directly.
* Required fields
Read the rest of the Case Study Don't miss the most interesting part of the story!
Submit this quick form to see the rest and to freely access all case studies on our website.
* Required fields

How to resolve software conflicts

How to install two versions of the same application on the same computer? How to resolve a software conflict? How to make an application safer for the system?

In the non-virtualized environment of Windows systems, applications are installed directly on the OS to the common system files, which usually causes software conflicts, fails and unstable operation.

This situation can be changed by virtualizing applications when the OS and application’s configuration are separated.

Each virtualized application works in its protected environment including files, registry keys and other elements required by the application. At the same time, the application is isolated from the OS and other applications, which helps to avoid software conflicts.

Today, there are many applications virtualizing systems: Citrix XenApp, SoftGrid, VMware ThinApp, and so on. All of them have advantages and disadvantages. And everyone chooses the system to match their requirements and possibilities.

Let’s have a closer look at the Citrix virtualization, i.e. streaming of virtualized applications.

Let’s create a virtualized application to be isolated from the OS and other applications.

The whole process can be divided into two stages:

  1. Creation of a virtual application (profile) — preparation and packing of the application and all that is needed to run it. The end result will be the application profile.
  2. Profile delivery — distribution of the ready application profile to client workstations using Citrix XenApp Server.

Part One. Profile Creation

An application profile is created with Streaming Profiler. It is recommended to use a blank system with the same settings as that of the prospective user’s one – OS, bit count, installed antiviruses, group policies, etc.

And of course, a good use can be made of a virtual environment,rospective which is the best tool for rolling the system back to the blank condition in case something goes wrong in the profile creation.

Let’s consider creation of Adobe Reader’s profile (v.10.0.0).

So, there is a blank workstation most approximated to the client one, and there is a Citrix Streaming Profiler installed.

Create a profile by opening Streaming Profiler and follow the steps prompted by the wizard.
Name. Name the profile.

New profile

Inter-Isolation Communication. As the application will be isolated from all other applications, though it should work with them, for example, as dependence; specify in the next dialogue box what existing virtualized application to use.

Inter-Isolation Communication

The applications will see each other and use common components if needed:


Target OS. Specify the OSs and their settings which the profile will be working with:

Target OS

If the installation is performed with a common installer e.g. setup.exe and requires no other steps, choose Quick Install, an option for one-line installation of the application. If there are numerous installation files or some updates, or changes should be made in the register or configuration files manually, then it is better to use Advanced Install.

Then select the installation file and install the application.

Select the installation file

During the installation Streaming Profiler monitors the installation (files installed, registry entries) and creates the application profile. At the same time the application is not installed on the OS. Everything happens in the virtual shell created by Profiler but the application being installed “sees” all system components and previously installed applications.

With the installation complete, the wizard suggests the shortcuts to be left for the future publication on client workstations. Save the profile on Application Hub, a dedicated network share. Give the write+modify rights to the user who creates or manages profiles, and the read+execute rights to the users, to whom this application will be distributed in the future. The result is the profile proper .profile and a set of files necessary to run the application.

Each profile consists of one or more Targets. A Target is a set of files, registry entries and components necessary to run the application on a specifically configured computer.

Targets example

If the application needs to be run on several OS versions, it is possible to use Streaming Profiler to add the required targets, but the application installer should be run each time. Targets are also useful if the application needs different settings for different OS versions.

If changes are needed in the profile or application target, the same Streaming Profiler should be used as an editor.

Part Two. Profile Publishing

The ready profile will be published with Citrix XenApp Server 6 installed on Windows Server 2008 R2.

Open Citrix Delivery Services Console. Open the frame tree, click Applications -> Publish Applications. Name the application.

Frame tree - applications - publish Applications

Choose application type — Application — Streamed To Client so that the application could be streamed directly to the client.

Choose application type

Streaming to the server is also possible, then the client will use the ICA to access the server that the application is streamed to. In this case the application is streamed to client.

In the next window, specify the profile file path (.profile) to Application Hub using UNC paths.
Also, in the dropdown list, select the shortcut that will be published for the client.

Select the shortcut

If offline access to the application is required, select Enable Offline Access. In this case the application will be completely loaded to client’s cash and will be started from there even without network connection.

Select Enable Offline Access

Select a user or a group (Citrix or AD), for which the application will be published and will be accessible.

Select a user or a group

Change the shortcut if necessary. Optionally, the shortcut can be placed in the selected subfolder in the Start menu as below:

Change the shortcut

That’s it. The application is published. File associations settings are available in properties.

On the client workstation the application is shown as a Citrix menu:

Citrix menu

as well as in the Start menu

Start menu

The application can also be published with Citrix Web Interface.

When started from the shortcut, the streaming of the the virtualized application actually occurs.
It isn’t the whole application that is streamed but the minimum set of components required to start the application and to show its interface to the user (similar to the 1st Feature Block in APP-V).

Now the application is launched and running in an isolated environment:

Application is launched

Thus, the system can have several versions of the same application, e.g. Adobe Reader 9 and Adobe Reader 10.

Streaming Limitations: 

  • 64-bit applications are not supported
  • Drivers and driver-containing applications are not supported
  • MDAC OS components cannot be profiled, e.g. Internet Explorer and .NET Framework.

There are a lot of subtleties in application profiling, as there are rather complicated and cumbersome applications requiring different components of both the system and other applications.

Streaming Profiler contains many functions for profound profile configuration, pre- and post-launch scripts, pre-analysis conditions, rules of isolation, redirections, ignoring during profiling or its running on the client.

Share this blog article:
Subscribe to our Newsletter