<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Java on Remko's Blog</title><link>https://remkoweijnen.nl/blog/categories/java/</link><description>Recent content in Java on Remko's Blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 19 Mar 2013 13:13:04 +0000</lastBuildDate><atom:link href="https://remkoweijnen.nl/blog/categories/java/index.xml" rel="self" type="application/rss+xml"/><item><title>Java has discovered application components that could indicate a security concern</title><link>https://remkoweijnen.nl/blog/2013/03/19/java-has-discovered-application-components-that-could-indicate-a-security-concern/</link><pubDate>Tue, 19 Mar 2013 13:13:04 +0000</pubDate><guid>https://remkoweijnen.nl/blog/2013/03/19/java-has-discovered-application-components-that-could-indicate-a-security-concern/</guid><description>&lt;p&gt;When starting a particular web based application Java popped up the following dialog:&lt;/p&gt;
&lt;p&gt;&lt;a class="glightbox thickbox" href="https://remkoweijnen.nl/blog/wp-content/uploads/2013/03/image1211.webp" data-type="image" data-gallery="post-3136"&gt;&lt;img loading="lazy" decoding="async" style="display: inline;" title="Warning - Security" alt="Java has discovered application components that could indicate a security concern" src="https://remkoweijnen.nl/blog/wp-content/uploads/2013/03/image12_thumb.webp" width="240" height="124" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;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:&lt;/p&gt;
&lt;p&gt;&lt;a class="glightbox thickbox" href="https://remkoweijnen.nl/blog/wp-content/uploads/2013/03/image26.webp" data-type="image" data-gallery="post-3136"&gt;&lt;img loading="lazy" decoding="async" style="display: inline;" title="Connection Error" alt="Error connecting to Central Configuration" src="https://remkoweijnen.nl/blog/wp-content/uploads/2013/03/image_thumb26.webp" width="240" height="102" /&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Oracle Client install fails with NullPointerException</title><link>https://remkoweijnen.nl/blog/2011/09/06/oracle-client-install-fails-with-nullpointerexception/</link><pubDate>Tue, 06 Sep 2011 15:51:45 +0000</pubDate><guid>https://remkoweijnen.nl/blog/2011/09/06/oracle-client-install-fails-with-nullpointerexception/</guid><description>&lt;p&gt;&lt;img style="margin: 0px 10px 0px 0px; display: inline; float: left" align="left" src="https://remkoweijnen.nl/blog/wp-content/uploads/recovered/baac64a55397d0a8.jpg" width="69" height="65" /&gt;Today I was asked to assist in troubleshooting an Oracle Client (10g) installation. The installation halted very quickly with a java.lang.NullPointerException: &lt;/p&gt; &lt;p&gt;&amp;#160;&lt;/p&gt;</description></item><item><title>Another packaging challenge</title><link>https://remkoweijnen.nl/blog/2011/01/17/another-packaging-challenge/</link><pubDate>Mon, 17 Jan 2011 09:15:37 +0000</pubDate><guid>https://remkoweijnen.nl/blog/2011/01/17/another-packaging-challenge/</guid><description>&lt;p&gt;Another post on something that happened last week, this time it&amp;rsquo;s about a Java based Application again.&lt;/p&gt;
&lt;p&gt;This particular application wanted to download three DLL&amp;rsquo;s from the Webserver to the Java bin directory.&lt;/p&gt;
&lt;p&gt;This presents us with several issues on a multi user server such as a Citrix of Terminal Server:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;&lt;span style="color: #35383d;"&gt;The user does not have write permissions in this directory&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;span style="color: #35383d;"&gt;If we we give the user write permissions here what happens when the DLL's are in use by another user?&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
I assumed that if I preinstalled the DLL's the application wouldn't try to overwrite them but that didn't work.
&lt;p&gt;Then I monitored with Process Monitor if the Application wrote some kind of check file but at first I didn&amp;rsquo;t find anything.&lt;/p&gt;
&lt;p&gt;So I decided to use the CorrectFilePaths shim to redirect the DLL&amp;rsquo;s to the user&amp;rsquo;s homedirectory (see &lt;a href="https://remkoweijnen.nl/blog/2010/12/28/using-the-correctfilepaths-shim-to-redirect-an-ini-file-to-a-writable-location/" target="_blank"&gt;Using the CorrectFilePaths shim to redirect an ini file to a writable location&lt;/a&gt; for an explanation).&lt;/p&gt;</description></item><item><title>Java Webapplication, certificates and Citrix</title><link>https://remkoweijnen.nl/blog/2011/01/11/java-webapplication-certificates-and-citrix/</link><pubDate>Tue, 11 Jan 2011 15:23:47 +0000</pubDate><guid>https://remkoweijnen.nl/blog/2011/01/11/java-webapplication-certificates-and-citrix/</guid><description>&lt;p&gt;Yesterday I created an Unattended Installation of a webapplication. Of course it was &amp;ldquo;just a web link&amp;rdquo; and the application vendor usually says: you don&amp;rsquo;t need to install it just go the URL and that&amp;rsquo;s it.&lt;/p&gt;
&lt;p&gt;The reality is usually that you go to the URL and need to install several (ActiveX) components and maybe other dependencies such as Java.&lt;/p&gt;
&lt;p&gt;While a user may have the permissions for this on his own pc, on a Citrix or Terminal Server environment this is highly unlikely.&lt;/p&gt;
&lt;p&gt;So we need to package and pre-install this for the users.&lt;/p&gt;
&lt;p&gt;Nothing special so far but this particular application had some special things that were interesting enough to blog about.&lt;/p&gt;
&lt;p&gt;So let&amp;rsquo;s start with what happened, I visited the URL of an application called Centric Key 2 Financien.&lt;/p&gt;
&lt;p&gt;First I got a few popups with Certificates that needed to be accepted:&lt;/p&gt;
&lt;p&gt;&lt;a class="glightbox" data-type="image" data-gallery="post-1147" href="https://remkoweijnen.nl/blog/wp-content/uploads/2011/01/Cert1.png"&gt;&lt;img loading="lazy" decoding="async" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="Cert1" src="https://remkoweijnen.nl/blog/wp-content/uploads/2011/01/Cert1_thumb.webp" border="0" alt="Cert1" width="244" height="150" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The application&amp;rsquo;s instructions say that the user must accept this and set the &amp;ldquo;Always trust content from this publisher&amp;rdquo; checkbox.&lt;/p&gt;</description></item><item><title>Unattended Installation of the Oracle Client</title><link>https://remkoweijnen.nl/blog/2010/12/27/unattended-installation-of-the-oracle-client/</link><pubDate>Mon, 27 Dec 2010 17:20:48 +0000</pubDate><guid>https://remkoweijnen.nl/blog/2010/12/27/unattended-installation-of-the-oracle-client/</guid><description>&lt;p&gt;Last week I needed to an unattended installation of the Oracle Client, in my case version 10.2.0.1.0.&lt;/p&gt;
&lt;p&gt;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 &lt;a title="Installing Oracle Database Client Using Response Files" href="http://download.oracle.com/docs/cd/B19306_01/install.102/b14312/advance.htm#BBAEDBJG" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;When you are finished you can use this response file to perform the unattended install, eg setup -silent -responseFile response_file_name.&lt;/p&gt;
&lt;p&gt;There is a problem though, the installer (setup.exe) launches a java based installer and immediately returns.&lt;/p&gt;
&lt;p&gt;This was a problem for me since I cannot deploy a dependant application if the Oracle install hasn&amp;rsquo;t finished yet.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;I figured there should be a better wait so I to a closer look at the installer with &lt;a title="The IDA Pro Disassebler and Debugger" href="http://www.hex-rays.com/idapro/" target="_blank"&gt;Ida Pro&lt;/a&gt;. I noticed that setup.exe launches another exe. called oui.exe (Oracle Universal Installer) which in turn launches Java.&lt;/p&gt;</description></item><item><title>Disabling Java Autoupdate</title><link>https://remkoweijnen.nl/blog/2010/11/24/disabling-java-autoupdate/</link><pubDate>Wed, 24 Nov 2010 16:07:28 +0000</pubDate><guid>https://remkoweijnen.nl/blog/2010/11/24/disabling-java-autoupdate/</guid><description>&lt;p&gt;I did an unattended install of Java Jre1.6_0.22 using an mst file that puts all (auto)update properties to off.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>Citrix and Java JRE Versions</title><link>https://remkoweijnen.nl/blog/2010/11/15/citrix-and-java-jre-versions/</link><pubDate>Mon, 15 Nov 2010 22:41:33 +0000</pubDate><guid>https://remkoweijnen.nl/blog/2010/11/15/citrix-and-java-jre-versions/</guid><description>&lt;p&gt;If you have ever installed Citrix Presentation Server/XenApp or one of the management consoles then you have probably dealt with Java versions.&lt;/p&gt;
&lt;p&gt;Citrix is very picky about the Java version so it&amp;rsquo;s usually best to initially install the Jre version that is delivered with the product.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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:&lt;/p&gt;
&lt;img loading="lazy" decoding="async" src="https://remkoweijnen.nl/blog/wp-content/uploads/2010/11/cmcjreerror.webp" alt="CMCJreError" width="416" height="216" /&gt;</description></item><item><title>Switch between Java Versions</title><link>https://remkoweijnen.nl/blog/2008/11/12/switch-between-java-versions/</link><pubDate>Wed, 12 Nov 2008 16:37:52 +0000</pubDate><guid>https://remkoweijnen.nl/blog/2008/11/12/switch-between-java-versions/</guid><description>&lt;p&gt;On a Citrix environment 2 different applications were required. One of the applications required java version 1.5 (and didn&amp;rsquo;t work with 1.6) and the other application needed specifically version 1.6.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Java adds an addon to IE called ssv.dll, you can see this trough Tools | Manage Add-ons | Enable or Disable Add-ons:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://remkoweijnen.nl/blog/wp-content/uploads/2008/11/addons-3.webp" class="glightbox" data-type="image" data-gallery="post-135"&gt;&lt;img loading="lazy" decoding="async" src="https://remkoweijnen.nl/blog/wp-content/uploads/2008/11/addons-3-small.webp" alt="AddOns" width="450" height="81" /&gt;&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>