Welcome Guest!   Register | Login | Login Assistance
Extending your Citrix and Terminal Server
environment using .NET and other technologies.

Branding the Citrix ICA Client

 

Using the techniques described in this article, it is possible to put your own custom logos on the client during application launch.  See screen shots below:

Before After

Disclaimer: This article is for informational purposes only. Be sure to reference your license agreement before implementing this in a production environment.

Tools Needed:
  • Citrix Presentation Server Client Packager
  • Resource Hacker (free)
  • Graphics Editing Software (Microsoft Paint is sufficient)

Step 1: Export Existing Citrix MetaFrame Image

This step is performed to export the existing resource image so you can replace the image with a new one with identical dimensions.

Follow these steps to complete this task:
  • Launch Resource Hacker and open statuiUI.dll. Note: statuiUI.dll is located in C:\Program Files\Citrix\ICA Client\resource\en for an English installation.
  • Navigate to Bitmap -> 101 -> 1033 (Note: since I am using the English version of the client, 1033 is my locale ID. Your locale ID may differ)
  • Right click 1033 and select “Save [Bitmap : 101 : 1033]…” Save this bitmap to any desired location
 


Step 2: Modify the Exported Image


Using your preferred graphics editor, open up the bitmap exported in step 1.
Modify the image as desired and save as a different name if desired.




Step 3: Replace the Resource in statuiUI.dll

  • Make a backup of statuiUI.dll
  • Launch Resource Hacker
  • Navigate to Bitmap -> 101 -> 1033
  • Right click 1033 and select “Replace Resource…”
  • Click the button labeled “Open file with new bitmap…”
  • Navigate to the bitmap created in step 2.
  • Click the Replace button.
  • Save the new statuiUI.dll file.


You will now have a branded client when launching applications. Go ahead and try it out.

You will probably notice that about half way through the application launch process, the picture you created in this step reverts back to the original Citrix Metaframe bitmap if you are running Presentation Server 3.0 or above. Why does this happen? Read on.

Citrix introduced an improved user logon process in Presentation Server 3.0 and above that included a progress bar indicating connection status throughout the entire application launch process. Basically, when you launch a published application, the process starts on the client computer setting up the connection to the server. Then, the process gets handed over to the server to complete the application launch (logon to the server, load the profile, etc). Prior to Presentation Server 3.0, when the launch process got handed over to the server, the Windows logon dialog boxes were displayed. This created kind of a disjointed look and feel for the end user. In Presentation Server 3.0 and above, the Windows logon dialog boxes were “replaced” with new dialogs that look like the local client dialog. This gave the end user a smooth looking look and feel throughout the entire launch process.

So, how do you stop this seemingly regression from happening? Move on to step 4.


Step 4: Replace statuiUI.dll on the Server.

The “replacement” dialog box for the server piece of the launch process is located at system_drive:\Program Files\Citrix\System32\resource\en\statuiUI.dll. Simply make a backup of this file and replace it with the statuiUI.dll file created in step 3.

Note: this file may be locked if other people are logged in to the server.

Now, try launching an application again and you will notice that the branding stays throughout the entire launch process.

Another file that is fun to play with is the login screen for the PN Agent. That resource is C:\Program Files\Citrix\ICA Client\resource\en\pnagenUI.dll. Have fun!







Published: March 01, 2006
Tags: Citrix Presentation Server Citrix Clients Customization
Current Rating:



Comments

Article
Great Article. I have been trying to find out how to do this for a long time.

Shaun

Reply
Super!
I was also lookign for this a long time. Keep up the Work!

Reply
Grey out options in user interface
Hi,

Like older versions of the grey PN client you can download from www.thethin.net, you can create your own. With ResHack you can also remove options from the menu's. Since I am an CCI I have been showing this my student for some time already. Kewl thing to put this into an article.. now I can just reference this article.

thnx!

subsequently, rad

Reply
Adding to MSI Possible?
I am tring to add the modified .dll to the MSI package from Citrix and I cannot figure out how. Anyone have know?

J.

Reply
Re: Adding to MSI Possible?
did you ever find the answer to this?

thanks

Reply
Citrix XPe
I am using Citrix XPe nfuse, there is no StatuiUi.dll to my server, but i still getting Citrix Metaframe logo, can anyone know which file needs to alter?

thx.
NY

Reply
Re: Citrix XPe
StatusUI.dll (server side) is only on PS3.0 and above. What you are seeing is the Citrix GINA background. That background is located at Program Files\Citrix\System32\ica256.bmp

Reply
A step further...
This is great stuff, but does anyone know of a way to remove all the status messages altogether? I know of CTX104893, but that just toggles the enhanced feedback - the Windows GINA is still displayed. Surely there must be a way to remove all logon progress, so that the user sees the remote app as if it were locally installed??

Reply
Branding the 10.0 client
Has anyone managed to brand the 10.0 client?

Reply
Excellent article
Well done.

Reply
Ditto...
This doesn't work with the 10.x client. Anyone figure this out how to modify yet?

Reply
Re: Ditto...
I performed this article on the 10.x client and it's working great.
After the unattended installation of the MSI file with a TRANSFORMS file i copy my custom statuiUI.DLL over the existing one.

Reply
Resizing the dialog box
Nice article!
I've branded only the server part of the connection process because we're an application service provider and our customers user their own PCs to connect, so I don't want to distribute them our ICA client. Some of them even use their own Citrix farm, too, and it would be somewhat strange to see our logo and then the "normal" one...

But I like to make them see the moment when the connection is established by changing the logo! And I resized the dialog box with Resource Hacker! It's not as simple as it seems, because the original logo isn't displayed in its actual size: it's scaled down for display!
So I had to recalculate the height of the logos (original logo size: 285x42 pixels, displayed size: 186x27/28; our logo: 285x178, resized to 186x116) and changed the dialog box (German version) script from

------snip------
103 DIALOGEX 0, 0, 186, 74
STYLE DS_FIXEDSYS | DS_MODALFRAME | DS_NOIDLEMSG | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Vorlagetitel"
LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
FONT 8, "MS Shell Dlg", FW_NORMAL, FALSE, 1
{
CONTROL 101, 1005, STATIC, SS_BITMAP | WS_CHILD | WS_VISIBLE, 0, 0, 186, 43
CONTROL "Vorlagestatus...", 1003, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 5, 35, 186, 16
CONTROL "", 1001, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 3, 59, 117, 11
CONTROL "Abbrechen", 2, BUTTON, BS_PUSHBUTTON | BS_FLAT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 125, 56, 58, 14
}
------snip------

to

------snip------
103 DIALOGEX 0, 0, 186, 158
STYLE DS_FIXEDSYS | DS_MODALFRAME | DS_NOIDLEMSG | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Vorlagetitel"
LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
FONT 8, "MS Shell Dlg", FW_NORMAL, FALSE, 1
{
CONTROL 101, 1005, STATIC, SS_BITMAP | WS_CHILD | WS_VISIBLE, 0, 0, 186, 133
CONTROL "Vorlagestatus...", 1003, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 5, 119, 186, 16
CONTROL "", 1001, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 3, 143, 117, 11
CONTROL "Abbrechen", 2, BUTTON, BS_PUSHBUTTON | BS_FLAT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 125, 140, 58, 14
}
------snip------

And it works! After some seconds the dialog pops up and displays the new and bigger logo :o))
Thanx!

Reply
Re: Resizing the dialog box
Oh, I forgot: It's a Citrix 4.5 Farm...

Reply

 
Post your comment:
Posting as: Guest. Don't want to post as Guest? Login or Register.
Title:  
Comment:  
Verification Code: