Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 6712190
Votes 0
Synopsis Java Web Start behaves differently on Windows Terminal Server wrt file "deployment.config"
Category java_deployment:configuration
Reported Against
Release Fixed 6u12(b03)
State 11-Closed, Unverified, bug
Priority: 3-Medium
Related Bugs
Submit Date 09-JUN-2008
Description
Java Web Start behaves differently on Windows Terminal Server as 
compared to regular Windows environment with respect to system level 
"deployment.config" file.
On regular Windows environment, "deployment.config" file is found in 
"<Windows Directory>\Sun\Java\Deployment\deployment.config".
On Windows Terminal Server however, "deployment.config" file is found 
in "\Dokumente und Einstellungen\<User-ID>\Windows\Sun\Java\Deployment".
So, "javaws.exe" is not "Terminal-Services-aware".


Please find below some more details concerning the problem.

1. Sun docs
-----------
According to Sun's Java Web Start documentation, the optional file 
"deployment.config" is expected to be found in two distinct locations
on Windows operating systems:

See http://java.sun.com/j2se/1.5.0/docs/guide/deployment/deployment-guide/properties.html
or
See http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment-guide/properties.html
----------------------------------------------------
System Level
------------
[ ... ] If deployment.config exists, it is located either here

    Operating System    Location
    Windows 	        <Windows Directory>\Sun\Java\Deployment\deployment.config

 or here

    Operating System   Location
    Windows 	       ${deployment.java.home}\lib\deployment.config

(${deployment.java.home} is the location of the jre from which 
the deployment products are run. Deployment products include 
Java Web Start, Java Plug-in, Java Control Panel ...)
----------------------------------------------------


2. Windows API: GetWindowsDirectory()
-------------------------------------
According to  customer 's documentation, the function GetWindowsDirectory()
results in different return values, depending on whether the function is
called under a regular Windows environment or under a Windows Terminal 
Server environment. 

Please see MSDN article
http://msdn. customer .com/en-us/library/ms724454(VS.85).aspx
------------------------------------------------------------
Remarks   
[ ... ]
Terminal Services:   If the application is running in a Terminal Services
   environment, each user has a private Windows directory. There is also a 
   shared Windows directory for the system. If the application is
   Terminal-Services-aware (has the
   IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE flag set in the image 
   header), this function returns the path of the system Windows directory, 
   just as the GetSystemWindowsDirectory function does. Otherwise, it 
   retrieves the path of the private Windows directory for the user.
------------------------------------------------------------

Please find attached demo program "getsystemhome.exe", which is not
"Terminal-Services-aware" ("getsystemhome.c" is attached as well):

2.1 Windows XP SP2
------------------
C:\> getsystemhome.exe
kernel32.dll found
GetSystemWindowsDirectory API call is available, running Windows 2000 or
higher
GetWindowsDirectory        C:\WINDOWS
GetSystemWindowsDirectory  C:\WINDOWS
running in a pure Windows System environment

C:\> 

2.2 Windows Terminal Server 
---------------------------
On  customer  Windows Server 2003 R2 SP2 running as "Administrator" we get:

C:\> getsystemhome.exe
kernel32.dll found
GetSystemWindowsDirectory API call is available, running Windows 2000 or higher
GetWindowsDirectory        C:\Documents and Settings\Administrator\WINDOWS
GetSystemWindowsDirectory  C:\WINDOWS
running in a Terminal Server environment

C:\>


3. Java Web Start
-----------------
So, on a Windows Terminal server Java Web Start "javaws.exe" does not 
find file "deployment.config", when it is placed as suggested by the 
docs in directory 
"<Windows Directory>\Sun\Java\Deployment\deployment.config".

This is what the problem is about.
Posted Date : 2008-06-09 13:57:17.0
Work Around
Placing file "deployment.config" in ${deployment.java.home}\lib\deployment.config
works as suggested in both normal Windows and in Windows Terminal Server environment.
Evaluation
Fix has been tested by the customer and confirmed working. Current targeted release is 6u12.
Posted Date : 2008-11-11 13:25:00.0
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang