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:
- 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.
- 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.
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.
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:
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.
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.
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.
Choose application type — Application — Streamed To Client so that the application could be streamed directly to the client.
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.
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 a user or a group (Citrix or AD), for which the application will be published and will be accessible.
Change the shortcut if necessary. Optionally, the shortcut can be placed in the selected subfolder in the Start menu as below:
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:
as well as in the 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:
Thus, the system can have several versions of the same application, e.g. Adobe Reader 9 and Adobe Reader 10.
- 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.