Tag Archives: xenapp

Citrix AppDisk – new feature announced @ Synergy 2015

Many new products, services and features have been announced during these three days @ Citrix Synergy in Orlando.

One new feature that I believe will be very interesting for XenApp and XenDesktop users is AppDisk.

AppDisk is an application layering technology that allows you to create disks containing applications (single instances or groups of them) and then attach them to XenApp servers or XenDesktop OSs.

Note: this is not an application isolation technology! Applications in AppDisk are not isolated and they can talk and interact to any other application in the OS just as any traditionally installed application would do. So, for instance, you won’t be able to run two MS Office versions on the same OS as you could do with other technologies like App-V (just to name one).

The main advantage of this solution is that you can create and manage one single OS image without having to install any application on it and deliver AppDisk applications based on the user profile. This is more or less what you can do with App-V but without incurring in the application isolation issues that App-V brings (VFS permissions, application incompatibilities… ). On the other hand, you won’t have the advantages of application isolation, like for example the ability of running two incompatible apps at the same time and on the same OS.

The process for creating an AppDisk is as follows:

  1. Open to Studio
  2. Click on the AppDisk menu
  3. Click on create AppDisk
  4. Choose the Machine Catalog that contains the base image you want to use and then Studio will create an instance of that OS through MCS or PvS
  5. Install the app on that OS image and then seal it (through an apposite button located on the desktop)
  6. Deliver the AppDisk to the Delivery Groups

The limited tech preview will be available in Q2 2015, the tech preview in Q3 2015. The GA version probably at the end of 2015 or early 2016.

We don’t know yet how many AppDisks can be published on the same OS as well as what kind of license you need to run it.

AppDisk does not use any drive letters and you can see the application in the Add Remove Programs Control Panel applet. AppDisk apps are ‘merged’ in the base OS, which means that you can find them in C:\Program Files or Program Files (x86).

AppDisk and Studio can leverage and integrate AppDNA in order to check whether the applications can run properly in the target OS. AppDNA can also show incompatible AppDisks and propose steps to fix any eventual issue.

 

I’m looking forward to test the Tech Preview!!!

 

XenApp session not closing correctly

Sometimes when you close a XenApp application, the session on the server may not close correctly or remain active, thus creating problems such as :

· Profiles corruption

· Increased servers’ resources usage

· Increased number of disconnected sessions, and so on…

This behavior can be caused by locked files (have a look at this for an example) or by processes that may have been launched during the sessions and that are not correctly closed upon user’s logoff.

For instance, if you publish an instance of Internet Explorer that in turn launches a Java process in order to run a web application, this java process may not be recognized by Citrix as being part of the user’s session, thus ignoring it upon user’s logoff and leaving an active session on the server.

A registry key can be modified on the server in order to instruct XenApp to consider other processes to be part of a user’s session ; the key is :

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWI]

and the value to configure is :  LogoffCheckSysModules 

For example, you configure such value like the following if you want XenApp to recognize the two processes “Java.exe” and “Javaw.exe” :

“LogoffCheckSysModules”=”java.exe,javaw.exe”

I experienced this on XenApp 5 and Presentation Server 4 and the solution works correctly. I never faced this on XenApp 6.5.

For more information about this : http://support.citrix.com/article/CTX891671

Citrix XenApp and Web Interface – from authentication to application launching (yes, yet another one)

One of the most frequent questions that colleagues and customers ask me is ‘Hey… but… wait a minute, who does authenticate the user? Is that the Web Interface or something else? ’

Yes, it’s true, there is plenty of documentation out there that explains how the XenApp logon process works, but I always struggled to find a document concise and clear enough that explains in details (but not too many) how the authentication process works and what are the services and components involved.

One great document available on line is the ‘The Excruciating Detail of the XenApp Logon Process’ published on brianmadden.com, that’s a very detailed document, but sometimes it’s a bit ‘difficult’ to read for people who need a quick answer or for non-so-technical people.

In this article I wanted to summarize the logon and application launching process by focusing on four main phases:

Phase 1: User Authentication

Phase 2: Resource Enumeration

Phase 3: Resource Resolution

Phase 4: Resource Launching

This document is not meant to be ‘an official guide’ about how it works (there are plenty of Citrix documents that do that), it is just meant to help whoever needs to have a quick and detailed overview of such process. There may be errors in it, so feel free to add any comments or correct me if I’m wrong.

The majority of the information contained here comes from this great Citrix video: Web Interface Logon and Application Launch Process for XenApp

 

Phase 1: User Authentication

User Authentication

1. User launches web browser and types in the WI URL

2. Then he connects to web interface

3. Web interface returns a logon page

4. User types his credentials

5. The credentials are forwarded to the XML service (in the http or HTTPS format)

6. Then to the IMA service

7. The IMA service then forwards the credentials to the ‘Local Security Authority Service (Lsass.exe), which in turn encrypts these credentials and passes them to the domain controller

8. The Domain Controller returns the user’s SID and a list of groups’ SIDs back to the Lsass service, and then back to IMA

 

Phase 2: Resource Enumeration

Resource Enumeration

9. IMA uses these SIDs to look into the Local Host Cache on the server for a list of application and the ‘worker group preference’ policy for this authenticated user

10. Then the list of applications, along with the ‘worker group preference’ policies are returned by the IMA service to the Web Interface (through the XML service)

11. Web interfaces then uses its java objects to create a web page that contains the application list for the user ; the user’s ‘worker group preference’ policy is cached in the web interface’s memory

12. The web page is then presented to the user’s browser, thus completing the ‘Resource Enumeration ’ phase

 

Phase 3: Resource Resolution

Resource Resolution

13. Then the user selects a particular application from the applications list

14. The selected application’s data is passed back to the web interface, which in turns passes these information to the XML and IMA services along with the ‘worker group preference’ policy

15. These information are then forwarded to the zone data collector’s IMA service, which then :

a. tries to find the least loaded server according to the ‘worker group preference’ policy

b. when it finds a server sends a query to the ‘Citrix Services Manager’ of that server to verify whether or not such server has the requested application installed

c. if the answer is yes, it forwards that server’ host ID to the XML broker

16. The XML broker then translate this host ID into its IP address by searching the server’s ‘local host cache’, the IP address is then provided to the Web Interface, thus completing the Application Resolution phase

 

Phase 4: Resource Launching

Resource Launching

17. The web interface will then take this IP address and creates an ICA file, which is then returned to the users’ web browser

18. Then the Citrix plugin, located on the client, uses the information included in the ICA file to launch an ICA connection on the least loaded server

19. The server then launches the application, which is then presented to the user through the ICA channel

 

More information can be found here:

http://support.citrix.com/article/CTX129589  (Web Interface Logon and Application Launch Process for XenApp)

http://support.citrix.com/article/CTX134979 (High Availability for Citrix XenDesktop and Citrix XenApp – Planning Guide)

http://www.brianmadden.com/blogs/gabeknuth/archive/2008/08/14/briforum-video-the-excruciating-detail-of-the-xenapp-logon-process.aspx (The Excruciating Detail of the XenApp Logon Process)

Getting rid of the ‘Internet Explorer Enhanced Security Configuration is enabled’ page when publishing IE through XenApp

Environment: Citrix XenApp 6.5, Windows Server 2008 R2, Internet Explorer 8.

Scenario: you published IE as a XenApp application, you turned IESEC off through GPOs (or through the Server Manager) and you configured a default home page for all users through a GPOs.

Problem description: at their first logon, your users get the ‘res://iesetup.dll/HardAdmin.htm’ start page which says something like ‘Internet Explorer Enhanced Security Configuration is enabled’. You don’t understand why this happens as you are sure you correctly set the default home page and disabled IESEC. Anyway, when users log on a second time they see their correct home page. This problem might be very annoying when every user has a local profile which is deleted and then needs to be recreated each time.

Problem cause: this problem happens if you disable IESEC after installing XenApp and enabling Remote Desktop Services, in fact, when you do so, the NTUSER.DAT file located in the Default User folder retains some settings that bring you to the ‘res://iesetup.dll/HardAdmin.htm’ on your first logon.

Problem resolution: to avoid this problem disable IESEC before installing XenApp. If it’s too late and you have already installed XenApp without disabling IESEC first, you can replace the NTUSER.DAT file located in the Default User folder with a correct one; to do so follow step #4 described in this Microsoft article: http://support.microsoft.com/kb/933991