Remko Weijnen's Blog (Remko's Blog)

About Virtualization, VDI, SBC, Application Compatibility and anything else I feel like

Archive for the ‘Java’ Category

When starting a particular web based application Java popped up the following dialog:

Java has discovered application components that could indicate a security concern

The dialog asks us if we want to Block potentially unsafe components so to continue we should click no. However users tend to not really read such messages and click Yes which leads to this error:

Error connecting to Central Configuration


  • Filed under: Java
  • Today I was asked to assist in troubleshooting an Oracle Client (10g) installation. The installation halted very quickly with a java.lang.NullPointerException:



  • Filed under: Java, Oracle
  • Another packaging challenge

    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:

    1. The user does not have write permissions in this directory
    2. If we we give the user write permissions here what happens when the DLL’s are in use by another user?

    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).


    Java Webapplication, certificates and Citrix

    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.


    Unattended Installation of the Oracle Client

    Last week I needed to an unattended installation of the Oracle Client, in my case version

    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.


    Disabling Java Autoupdate

    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-

  • Filed under: Altiris, General, Java
  • Citrix and Java JRE Versions

    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:



    Switch between Java Versions

    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: