XenApp & Internet Explorer – Improving User Experience

Reading Time: 3 minutes

With advertisements all over modern websites the demand on the CPU while surfing is increasing massive. If you just browse to a normal newspaper website you will will notice a lot of JavaScript and HTML5 stuff. On your own workstation this will not be a big deal but when you imagine there are a lot of  users on a Terminalserver this will result in very bad performance for all users which are working on this machine.

Lets have a look what happens when you open a website. This test was excuted on a provionsed VM with 4 vCPUs and 32GB RAM. No other users have been working on the XenApp worker this time.

On the right side you can see an embedded advertisement video.
Average CPU usage ~ 20%. The CPU will never go to an idle state.

Disabling JavaScript? Good idea but most of your users will go crazy because most of the websites will not be usable anymore.

The most effective way would be to block the advertisment on the firewall before its reaching the session of the user. Many big firewall manufacturer support this already. With the “Tracking Protection” of Internet Explorer you also have the possibility to block this resource hungry advertisements.

Here you can see the same website with enabled tracking protection.


Average CPU usage ~ 4%. The CPU will go to an idle state after loading the website.

How can you rollout the “Tracking Protection” for all of your users? To enable this feature you need to do the following steps.

1.) Specify which Tracking Protection Lists you want to use. Im using “EasyList Standard” and “EasyList German”.

2.) Create the following registry keys via Group Policy Management

EasyList Standard

Easy List – German


3.) Modify your Citrix UPM Policy to synchronize the directory “AppData\Local\Microsoft\Internet Explorer\Tracking Protection”.


If you dont synchronize this directory the EasyList files will get deleted at every logoff. It can take up to 45 seconds when the user is opening a new session until the easy list files get downloaded. Your users will start surfing without tracking protection 😉

You can modify the “TTL” DWORD to increase/reduce the update periode of the specific EasyList.


Its also possible to disable the tracking protection for specific websites. Here you need to generate a DWORD witht the websites url and change the value to 1.




  1. Hello

    sorry I dont speak English.

    We are in citrix xenapp 6.5 (2008r2) with roaming profile and redirected folder

    I would like to know if I can modify the default folder, instead of Local

    … Local \ Microsoft \ Internet Explorer \ Tracking Protection \ {7C998372-3B89-46E6-9546-1945C711CD0C} .tpl

    but in the roaming folder

    … Roaming \ Tracking Protection \ {7C998372-3B89-46E6-9546-1945C711CD0C} .tpl

    With that, I can keep the file in the user’s Roaming folder


    1. Its not possible to put the TPL files in the AppData Roaming folder. There is something harcorded in IE reagarding the path… I have tried this already.
      If you change the Path string to “%USERPROFILE%\AppData\Roaming\Microsoft\Internet Explorer\Tracking Protection\{3A612722-E054-4878-A8BD-51CCB5AFE8B8}.tpl” after a fresh login you will get “C:\Users\test.LAB\AppData\Roaming\Microsoft\Internet Explorer\Tracking Protection\{4CDA80C1-FEAC-448D-8FCF-FC2742800C7B}.tpl”. As soon you start Internet Explorer it will change to “C:\Users\test.LAB\AppData\Local\Microsoft\Internet Explorer\Tracking Protection\{4CDA80C1-FEAC-448D-8FCF-FC2742800C7B}.tpl”
      Are you using Citrix Profile Managment or native profiles?
      If you use native profiles, you could create a script, which is putting the files to “AppData\Local” on every login. With UPM just synchronize the .tpl files.

      1. I haven’t tried this yet, but you have probably left the type as REG_SZ. This will accept the environment variable and use it to write the line.

        If you use REG_SZ_EXP then it will resolve the environment variable as needed.

  2. Hello
    Sorry do not speak french
    I use roaming profiles (with folder redirection).
    I do not have Citrix manager profiles
    I tested on my personal PC windows10 (so not in environment citrix) by creating a folder in
    C: \ Users \ Florent \ AppData \ Roaming \ Tracking Protection
    and modify the registry:
    [HKEY_CURRENT_USER \ Software \ Microsoft \ Internet Explorer \ Safety \ PrivacIE \ Lists \ {025EA0A7-9796-4EB9-AF9C-3B92FE6FD436}]
    „Path“ = „C: \\ Users \\ xxxx \\ AppData \\ Roaming \\ Tracking Protection \\ {025EA0A7-9796-4EB9-AF9C-3B92FE6FD436} .tpl“
    „Name“ = „EasyList France EasyList“
    „Url“ = „http://easylist-msie.adblockplus.org/liste_fr+easylist.tpl“
    „Enabled“ = dword: 00000001
    „LastUpdateTime“ = dword: 0037be51
    „TTL“ = dword: 00000001
    So I have nothing in C: \ Users \ Florent \ AppData \ Local \ Microsoft \ Internet Explorer \ Tracking Protection
    I then delete the files present in the Tracking Protection folder. When I started internet explorer he downloaded file in the folder \\ Roaming Tracking Protection \
    Unless on windows 2008r2 there is a rule that forces ca.
    Did you test which windows?

  3. Hello
    attached an image.
    I set the GPP preference in% appdataDir%
    % AppDataDir% \ Tracking Protection \ {025EA0A7-9796-4EB9-AF9C-3B92FE6FD436} .tpl
    and I also copy the file with a preference gpo
    It seems to work.
    Can you test? Unless I have a chance 🙂
    I tested only on my citrix session

  4. Hi. I tried it on Windows 10 with IE. What I have noticed is that the “{3A612722-E054-4878-A8BD-51CCB5AFE8B8}.tpl” file gets delete after you close+re-open internet explorer. That is not good and I don’t know what to do about it as the file doesn’t get downloaded again!!

    Do you have any insights on that?


  5. On this key:

    Software\Microsoft\Internet Explorer\Safety\PrivacIE\Lists\{4E50D7F4-AC8A-4844-86A0-66A36BB605CB}
    Name: Path
    Type: REG_SZ
    Value: %USERPROFILE%\AppData\Local\Microsoft\Internet Explorer\Tracking Protection\{3A612722-E054-4878-A8BD-51CCB5AFE8B8}.tpl

    How did you come up with the {3A612722-E054-4878-A8BD-51CCB5AFE8B8} in the value section? I’m curious because I’d like to figure out what that value is for Fanboy’s Annoyance List.



Leave a Reply

Your email address will not be published. Required fields are marked *