About Terminal Server, Citrix, Delphi and other stuff
26 Nov
I remembered from a previous project that when the Citrix Web Interface this is caused by a setting called generatePublisherEvidence in the Aspnet.config file.
This behaviour has been documented by Citrix in CTX117273.
If you read it carefully you will see the note that you need to fix it in 2 places for an x64 system.
If you know me a little than you have probably guessed I wanted to fix this with a nice script. I have chooses PowerShell this time because it has good support for XML and I made a one-liner so I can easily use it in an Embedded Altiris script.
The script changes the config file for both x86 and x64:
EDIT: If you run by commandline you need to care of quotes within quotes, easiest thing to do is to use double quotes (“) to surround the commandline and use single quotes (‘) for Strings inside the commandline:
15 Nov
If you have ever installed Citrix Presentation Server/XenApp or one of the management consoles then you have probably dealt with Java versions.
Citrix is very picky about the Java version so it’s usually best to initially install the Jre version that is delivered with the product.
In my case however I needed to install the CMC for Xenapp 5 on Windows 2003, it requires JRE 5.0 Update 9 but this version was undesirable.
So I tried to install the CMC with the current JRE version (1.6.0_22 at this time) but it makes the Installer exit immediately:

12 Nov
When installing the Citrix Delivery Services Console with an unattended install (using CtxInstall.exe) the Citrix Password Manager gets automatically installed as well.
You can see this in the Console where you will get an additional node called “Single Sign On”.
I couldn’t find any information on how to make CtxInstall exclude it so I was left with 2 options:
I went for option 2 since 1 might mean it comes back after an update, the commandline is:
msiexec /x {25F2D5CD-B428-4869-B32B-031A9D5CE0C1} /Qb
If it’s somehow possible to prevent installing it in the frist place, please let me know!
12 Nov
After having successfully tested the Unattended install jobs for my Citrix XenApp 5 environment I went on to testing the install.
The install itsself and the msi logs that my jobs created all indicated that the install was successfull.
So I went on and launched the install jop for the Delivery Services Console. This job succeeded nicely but when I opened the console the XenApp node was missing:
The resolution is described in CTX125827 but Resolution 2 is a lot of manual labour ![]()
So what do we do? We script it! (more…)
22 Oct
When you request Shadow (Remote Control) of a Remote Desktop (Terminal Server) or Citrix session the user gets a Dialog where he can Accept or Deny the Shadow Request.
It looks something like this:

It’s possible to change the default settings and remove the need for this permission but I think this is a bad idea since it violates the user’s privacy.
But sometimes it would be convenient to automatically accept, for instance for when a user is away or when you want to shadow a session that is “yours” but runs under another account.
I wrote a tool to do just that ![]()
(more…)
5 Jul
While browsing through my old projects folder I found a little commandline tool that I wrote about a year ago. I needed to detect a certain published application on a Citrix environment in the loginscript.
The tool detect the current Citrix published applicationname or if you are running Terminal Server aka Remote Desktop Services the Initial Program name and stores this in an environment variable (APPNAME).
There are no parameters and there are no special dependancies (such as MFCom).
CtxPubApp (178)3 Dec
Yesterday I was troubleshooting why Workspace Control was not available on an HP t5540 (Windows CE) Thin Client. This was a Citrix Xenapp 5 environment on Server 2008. When logging in through the Web Interface from the Thin Client’s browser we noticed two things: Client Detection failed and the Reconnect and Disconnect buttons were not available:
I looked into the files in the webinterface folder (wwwroot/Citrix/XenApp)and searched for workplace and reconnect. I determined that the Client Detection is done in the nativeClientDetect.js (app_data/clientDetection/clientscripts). But what I saw was very strange:
// Detect whether ICA Client is available.
< %
if ((sClientInfo.osWinCE() && sClientInfo.isIE()) || sClientInfo.osSymbian() ) {
%>
// It is difficult to reliably detect processor type for WinCE and Symbian Devices
// and therefore to choose the right flavour of the ICA client.
// Also, it is not possible to simply download and install ICA client for some of these devices,
// e.g. WBTs. Therefore, we assume that ICA client is always available.
function detectNativeClient() {
return true;
}
25 Nov
Windows Vista introduced the Command Bar in Explorer which is sometimes also referred to as the Folder Band or the Task Band. The Command Bar is of course also present in Windows 7 and Server 2008 (R2).
This Command Bar shows possible tasks or actions depending on the active folder. I wanted to remove the “Uninstall or change a program” (in Dutch this is called “Een programma verwijderen of wijzigen”) button from the Computer view:
17 Nov
I noticed that XenApp 5 Feature Pack comes with a new version of the Web Interface (5.2) (it is also available as standalone download). The parameters to install it in silent mode have changed but there’s no documentation at all on the Citrix Site:
16 Nov
I needed to add a printer connection to a Citrix server but the problem was that this printer had a buggy driver. I wanted to use an alternative driver such as the Citrx Universal Printer driver but on Terminal Server you might want to use the Terminal Services Easy Print driver.
So I decided to make something that could be used in both situations, the result is a small commandline tool called AddPrinter2 (sorry I am not good in finding original names).
It takes 2 parameters: the printername as unc path and the driver name. An example would be:
AddPrinter2 “\\server\printer” “Citrix Universal Printer”.
Active Directory Altiris bug Citrix Dell Delphi Exchange Exchange2003 Exchange2010 Hewlett-Packard HP iOS Jailbreak Java LinkedIn Linux MSI MySQL Navigation Objects Office Outlook Passat PowerPoint PowerShell referall was returned RNS315 RNS510 SasLibEx script slow Terminal Server ThinApp TSAdmin TSAdminEx VBS VCDS Vista VMWare Volkswagen Windows PE WLAN Wordpress WTSWaitSystemEvent wts_event_flush
WP Cumulus Flash tag cloud by Roy Tanck requires Flash Player 9 or better.