About Terminal Server, Citrix, Delphi and other stuff
6 Sep
Today I was asked to assist in troubleshooting an Oracle Client (10g) installation. The installation halted very quickly with a java.lang.NullPointerException:
17 Jan
Another post on something that happened last week, this time it’s about a Java based Application again.
This particular application wanted to download three DLL’s from the Webserver to the Java bin directory.
This presents us with several issues on a multi user server such as a Citrix of Terminal Server:
I assumed that if I preinstalled the DLL’s the application wouldn’t try to overwrite them but that didn’t work.
Then I monitored with Process Monitor if the Application wrote some kind of check file but at first I didn’t find anything.
So I decided to use the CorrectFilePaths shim to redirect the DLL’s to the user’s homedirectory (see Using the CorrectFilePaths shim to redirect an ini file to a writable location for an explanation).
11 Jan
Yesterday I created an Unattended Installation of a webapplication. Of course it was “just a web link” and the application vendor usually says: you don’t need to install it just go the URL and that’s it.
The reality is usually that you go to the URL and need to install several (ActiveX) components and maybe other dependencies such as Java.
While a user may have the permissions for this on his own pc, on a Citrix or Terminal Server environment this is highly unlikely.
So we need to package and pre-install this for the users.
Nothing special so far but this particular application had some special things that were interesting enough to blog about.
So let’s start with what happened, I visited the URL of an application called Centric Key 2 Financien.
First I got a few popups with Certificates that needed to be accepted:
The application’s instructions say that the user must accept this and set the “Always trust content from this publisher” checkbox.
27 Dec
Last week I needed to an unattended installation of the Oracle Client, in my case version 10.2.0.1.0.
Oracle has a record switch that allows you to record an installation and generate a response file using: setup -record -destinationFile response_file_name. This is documented here.
When you are finished you can use this response file to perform the unattended install, eg setup -silent -responseFile response_file_name.
There is a problem though, the installer (setup.exe) launches a java based installer and immediately returns.
This was a problem for me since I cannot deploy a dependant application if the Oracle install hasn’t finished yet.
I did some googling and found a lot of questions about this subject and saw a common resolution where a script is watching a certain file that is creating when the installation has finished in a loop.
I figured there should be a better wait so I to a closer look at the installer with Ida Pro. I noticed that setup.exe launches another exe. called oui.exe (Oracle Universal Installer) which in turn launches Java.
24 Nov
I did an unattended install of Java Jre1.6_0.22 using an mst file that puts all (auto)update properties to off.
However it seems that Java simply ignores this, so usually a script runs after the install to the delete some registry keys and perform some extra configuration.
With more recent Java versions it’s easier to simply uninstall the update component with the following commandline:
msiexec /x {4A03706F-666A-4037-7777-5F2748764D10} /qb-
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
On a Citrix environment 2 different applications were required. One of the applications required java version 1.5 (and didn’t work with 1.6) and the other application needed specifically version 1.6.
Because the applications are installed on a Citrix server the users do not have write permissions to HKEY_LOCAL_MACHINE so that was another complication.
After a lot of monitoring with process monitor the general process of how a particular Java version loads in Internet Explorer became clear to me.
Java adds an addon to IE called ssv.dll, you can see this trough Tools | Manage Add-ons | Enable or Disable Add-ons:
Active Directory Altiris Automation Manager bug Citrix Dell Delphi Exchange Exchange2003 Exchange2010 Hack Hewlett-Packard HP iOS Jailbreak Java LinkedIn Linux Lync McAfee MSI MySQL Navigation Objects Office Outlook Passat Password PowerPoint PowerShell RES RNS315 RNS510 SasLibEx Terminal Server ThinApp TSAdminEx VBS VCDS Vista VMWare Volkswagen Windows PE Wordpress XenApp
WP Cumulus Flash tag cloud by Roy Tanck requires Flash Player 9 or better.