How To Brand Citrix Receiver for Web

Since Citrix is officially discontinuing the Citrix Web Interface we have all loved for many years.

It seems the focus now will be on the NetScaler Web Portals and of course the new CloudGateway.  I was able to find a good article that explains how to customize the new interface.  Thanks for the Citrix fellas for putting this out.

There have been numerous requests asking how to brand Citrix Receiver for Web.  You have only to look at the Citrix Service Providers group on LinkedIn to know that this is a topic that has generated lots of interest.

Jeroen Tielen has already done a lot of the heavy lifting when it comes to branding Citrix Receiver for the Web — see his blog post on how to customize the branding:

I’m providing a step-by-step guide on how to do this, and also how to extend it.  CSPs have also said they want to provide a list of URL links, for example links to helpdesk/support sites, feedback mechanisms, etc…

In other words, let’s start with this:

The “Before” web site

And end up with something like this:

The “After” web site

Branding the Web Interface:

Let’s start by creating a new Storefront site for a white label reseller.  This also isolates all of our changes to just this new site, and so we can always revert back to the default Citrix branding.

  1. Run the Citrix XenApp Server Role Manager and then click on the Edit Configuration link for the Receiver Storefront.  This will start the MMC snap-in for Citrix Receiver Storefront.
  2. In the left-hand tree view click on Receiver for Web, and then in the far right-hand pane click on Create Website.
  3. Change the web site path to whatever you want as the URL path for your reseller.  In the screenshot above you can see I chose “/Citrix/TenantACME”.

Now that we have a new web site created, let’s take a quick look.  If you’re using a default environment you’ll see that it created a new folder at C:\inetpub\wwwroot\Citrix\TenantACME, and that within this folder there is a \css folder, a \media folder, a \scripts folder, and a \uiareas folder.  These seem promising!

Let’s start with the background.  If you’ve already read Jeroen’s blog post you’ll know the file we want to change is at C:\inetpub\wwwroot\Citrix\TenantACME\media\bg_bubbles.jpg.  Just replace that file with a different JPG image with the same name.  Here’s an example:

Citrix Receiver for Web - New Background with white text

Not bad, but the white text is a little hard to read.  We’ll start with the username/password and change that to black.

Open up C:\inetpub\wwwroot\Citrix\TenantACME\css\ in a text editor like Notepad, and do a search for “#logonbox-logonform label” (it will be near the end).  You’ll find a section of text that looks something like this:

#logonbox-logonform label{color:white;display:table-cell;font-size:12px;height:20px;vertical-align:bottom;}

All you have to do is change the part the highlighted text from “white” to “black”:

#logonbox-logonform label{color:black;display:table-cell;font-size:12px;height:20px;vertical-align:bottom;}

While you’re in that file you’ll also want to change some other things as well.  For example any messages will also be in white.  So search for “.ctxsui-messagebox{height:142px” (near the top) and change the color to black as well:


The Citrix Receiver logo is also really hard to read since it’s white.  That’s an image, so all we have to do is replace C:\inetpub\wwwroot\Citrix\TenantACME\uiareas\Authentication\media\logo_notagline.png with a different image, just like we did for the background image.  We’ll also change the “Screen_SemiTranslucent.png” image (the light bar going across the middle) and the “VerticalGreenBarOnly.png” image (the vertical bar on the far left) as well, since our background has more of a blue theme.

Our web site now looks like this:

Citrix Receiver for Web - new background with black text

This looks a lot nicer!  You can see that we branded it for the reseller with the “Provided by ACME” tagline in the logo image.  So far though we haven’t really introduced anything new.  All we’ve done is tweak some images and some minor CSS.  Now let’s tackle the fun stuff: adding links!

Adding Links on the Login Page

Before we jump in, let’s take a quick look at how the page is structured. If you’re using IE or Chrome hit the F12 key to follow along. The web page is structured as a series of nested tags. These divide the page into logical sections. It’s laid out like this:

Citrix Receiver - DOM model

You can see the major Divs, and the one that is of interest to us is “authentication”. This is the only Div that is visible initially (the others are set to “display:none”).  The way this page works is that it toggles these Divs on or off – for instance after you login the “authentication” Div will become hidden and the “resources” Div will become visible.

You can see that the “authentication” Div is further comprised of other Divs. What we’re going to do is insert yet another Div into the “authentication” Div. So our code will be visible only when the authentication screen is shown, and hidden otherwise.

Create a new text file called “HelpLinks.js” in your C:\inetpub\wwwroot\Citrix\TenantACME\scripts folder.  We’re going to add our javascript code in its own file so that we can keep it isolated from the main code.  In this file copy-and-paste all of the following:

var SetLinks = function() {
    var content = '\
        <div style="position:fixed; top:500px; left:20px;"> \
            <a href="">HelpDesk</a><br /> \
            <a href="">Feedback</a> \
    var newDiv = $(content);

What this does is add some HTML (the part that is highlighted) right after the “#logonbelt-bottomshadow” Div in our page.  It needn’t be exactly there, but the important thing is that our new Div is added somewhere inside of the “authentication” Div.

But so far this code isn’t linked up to anything.  Let’s open C:\inetpub\wwwroot\Citrix\TenantACME\Default.htm in a text editor like Notepad and add a reference to our new Javascript file.  Find this line in the html page (near the top):

<script src="scripts/Default.htm.script.min.js" type="text/javascript"></script>

Now add another line right before it:

<script src="scripts/HelpLinks.js" type="text/javascript"></script>

This references our new javascript, but doesn’t invoke it.  To do that we modify the C:\inetpub\wwwroot\Citrix\TenantACME\scripts\Default.htm.script.min.js file in Notepad.  Search for the following:


Now modify this so that it looks like this:


Let’s take a look now.

Citrix Receiver for Web - New background with links

Nice!  Let’s see what has changed in the structure of our page.

Citrix Receiver for Web - DOM model with new Div

You’ll notice that our new Div was added right after the “logonbelt-bottomshadow” Div.

The rest is just a matter of polish.  Some things that you might want to do.

  1. Our helpdesk and feedback links look a little naked.  You can modify the HTML in HelpLinks.js to decorate those links with some images (as in the “After” image at the top of this article).
  2. After the user logs in and sees the apps you will notice that the white text on a light background can be a little hard to read.  To update the text color search for “#resources-header #header-userinfo{float:left;”, “#resources-header #header-logofflink{float:left;”, and “.myapps-name{padding-top:6px;” in the file and update each of them to a darker color.
  3. The background frame around each of the apps likewise might need a little tweaking due to the light background.  Update the image at C:\inetpub\wwwroot\Citrix\TenantACME\uiareas\Store\media\MainAppIcon_normal.png if you want to change it.

You may have noticed that generally you’ll have an easier time if you stick with a dark background.  Also, depending on your installation and version, some of the file names might be slightly different.  For instance the Citrix logo image might be called “logo_tagline.png” instead of “logo_notagline.png”

What if you don’t want the links on the authentication page, but rather *after* the user logs in?  That can be done using the same principles in this article:

  1. Look at the structure of the web site.
  2. Find where you want to place your new HTML (in a new sub-div within the “resources” Div in our case)
  3. Add some Javascript to insert your new HTML after an existing Div element of the page (inserting after the “resources-footer” Div would work)
  4. Call your Javascript from Default.htm.script.min.js

I’ll leave that as an exercise to the reader.  If you’re having trouble let me know in the comments section, and also maybe an enterprising individual will post their answer!

(Caveat Emptor: None of this is officially supported by Citrix, take it as-is.)
(Thanks go to Scott Novack who also helped with this article.)

Customizing Citrix Web Interface 5.4


An article by sbarnes from Riverlite

During the last few months I had to do several searches on how to  customize our cloud VDI POC portal. This article will explain the many steps that we used to create and edit a new WI 5.4 finished article.

I know the new CloudGatway express is out… I will post the code changes as soon as I get more info.  Seems some web developers from Citrix will putting a good guideline soon


Before Customization


After customization

Section 1 – the logon page

This area is the first thing that users will see, so it needs to look as good as possible, but still be functional. We opted for an all white theme and keeping the centre logon area in-tact, including the images of the various devices. This mean that we now needed to pick apart everything else that needed changing:

1. Page Title

By default the logon page has a title of “Citrix XenApp”, we decided to change this to a custom string (Riverlite vCloud). This text can be found in:

“C:\Program Files (x86)\Citrix\Web Interface\5.4.0\languages\” at lines 7 and 8:

2. Header Graphic

By default the web interface will show a “Citrix XenApp” or “Citrix XenDesktop” logo (dependent on which product installed WI), we had an in-house PhotoShop expert adjust our Riverlite vCloud logo to a total white background and make the image a decent size (opted for 454×60) in preparation for the change over. Although we could edit the config files to direct WI to load an alternative image we opted for just renaming the image to the same name as the original image, this ensures less complexity and also less likely for Citrix support to ever say that the configuration is not supported in the event of a support call. The header logo is:

“C:\inetpub\wwwroot\Citrix\SiteName\media\CitrixXenApp.png” (or XenDesktop.png depending on product)

To facilitate the change I renamed CitrixXenApp.png to CitrixXenApp_OLD.png and then dropped our image in as CitrixXenApp.png.

3. Log on box text

As standard the log on box displays the phrase “log on”, this was changed to “Riverlite vCloud” by using the following steps within the Web Interface Management console:

  • Find the XenApp Web Site
  • Right click it and select “Web site appearance”
  • Click “Content”
  • Click “add” and select the correct language
  • Tick the “logon screen text” box
  • Enter your desired text in the “title” section

4. Slogan

Citrix add “Your Windows desktops and apps on demand – from any PC, Mac, smartphone or tablet” as a slogan, however as our vCloud solution is about more than this we decided to remove this. This can either be customized or removed, customize the text by editing “C:\Program Files (x86)\Citrix\Web Interface\5.4.0\languages\” at line 29:

Removal can be achieved by editing “C:\inetpub\wwwroot\Citrix\SiteName\app_data\include\” at line 1179 and changing this to “display: none;”.

5. Footer Images

By default Citrix add Citrix and HDX logos to the footer of the page, to replace them with custom branding I replaced “C:\inetpub\wwwroot\Citrix\SiteName\media\CitrixWatermark.png” with my new logo. This logo has a hyperlink attached to it which can be edited in “C:\inetpub\wwwroot\Citrix\SiteName\app_code\PagesJava\com\citrix\wi\controls\” at line 16

Removing the HDX logo can be achieved by editing “C:\inetpub\wwwroot\Citrix\SiteName\app_data\include\” and changing line 886 to have a value of “display: none;”.

6. Changing the background colour

By default the background is made up of a handful of images, however we decided that it would be better to utilise standard hex colors. The background is referenced in:


By default the top pane uses the image “HorizonBgTop.png” and the bottom pane uses “HorizonBgBottom.png”. To utilise colors instead the following configuration change was made:

Section 2 – the applications/desktops page

Once the user has authenticated they will be presented with their available applications and/or desktops. We decided that as this page will be used for demonstration purposes by large numbers of users that we should make it as clean and simple as possible. We decided to again implement some custom branding, but also remove the “messages” and “settings” options. Here is the original heading layout and the original header logo:

And here is the after:

1. Replacing the header logo

Again we had to use some PhotoShop expertise to get the color matching correct (the default WI header background is #95A2AC – as defined in “c:\inetpub\wwwroot\Citrix\SiteName\app_code\PagesJava\com\citrix\wi\pageutils\”). The image that needs replacing is:


2. Removing the “messages” option

Open “C:\inetpub\wwwroot\Citrix\SiteName\app_data\include\” and change line 62 as per the below to comment out the configuration item. Ensure that the change is made at both the open and close tags as highlighted below.

3. Removing the “settings” option

Open “C:\inetpub\wwwroot\Citrix\SiteName\app_data\include\” and change line 81 as per the below to comment out the configuration item. Ensure that the change is made at both the open and close tags as highlighted below.

Section 3 – the logged off page

The logged out page uses a different set of logos and configuration entries, as such a separate set of customizations is required.



1. Changing the header graphic

We utilized the same header logo that is used on the logon page by simply copying and renaming the file to:



2. Changing the footer graphic

We utilized the same footer logo that is used on the logon page by simply copying and renaming the file to:



3. Customizing the background color

We decided to keep a clean white theme throughout the site, but keep the greyed out devices picture. This configuration is stored in:



Changing the background values to “#000000″ will provide a white background, as per the below:

Section 4 – Other useful adjustments

1. Favicons

By default a Citrix favicon is utilized:

This can be changed by placing an icon (16×16 size) with the filename of:


2. Removing the “devices” image from the logon page

Browse to “C:\inetpub\wwwroot\Citrix\SiteName\app_data\include\”

Change line 1184 to set the background to “none”

3. Remove the devices image from the logged off page

Browse to “C:\inetpub\wwwroot\Citrix\SiteName\app_data\include\”

Change line 1209 to set the background to “none”