Hi,
On 06/13/2018 03:30 PM, Bernd Eckenfels wrote:
> The javaws.exe starter currently defines
>
> -Ditw.userdata="C:/Users/USER/AppData/Local/ojdkbuild/java-1.8.0-openjdk-1.8.0.171-1.b10.ojdkbuild.windows.x86_64/webstart/"
>
>
> Which leads to the fact that the cache directory and the config directory
> is not only version specific, but also rather hard to find. I would remove
> the product version and use "%LOCALAPPDATA%\<vendor>\webstart\" (i.e.
> "C:/Users/USER/AppData/Local/ojdkbuild/webstart/cache" instead. What do you
> think? (and modify it to skip .cache/icedtea-web/)
The version specific path for all IcedTea-Web files was used by design
there. One of the requirements for jdk-win installer is that all
temporary files must be removed on uninstall. Thus all of them are
placed under this versioned directory.
"Config purge on updade" may be inconvenient for long-term ITW config
files. The idea was that the webstart bundled with MSI installer is for
"casual users" who just want to run some webstart apps from browser and
expect them to work in a similar way they worked with Oracle webstart.
And "advanced users" can install standalone ITW that may be more
flexible for running JNLPs from command line and has the paths that
match linux version 1-to-1.
MSI installer support (to create standalone win installers with ITW
only) was added to ITW project. Unfortunately the windows launcher from
ojdkbuild (javaws.exe) was rejected by ITW people and they decided to
write their own one instead. Devkit from here (
https://github.com/akashche/itw_win_devkit ) can be used to build
standalone ITW MSI on windows, but I don't know its current state - it
is likely half-broken.
> Besides the javaws.exe has a -d option to delete that directory. Can this
> be made a longer option to avoid potential people trying to "turn debugging
> on"?
javaws.exe is not a command line binary (it is GUI one - doesn't have
stdin/out with console etc) so it doesn't have supported command line
flags. JAR file should be used directly for all command line use. EXE
launcher is not doing anything useful except launching java.exe passing
javaws.jar with required options to it. It uses java.exe spawning
additional process instead of launching JVM in the same process with
JNI_CreateJavaVM especially to not introduce any unwanted behaviour,
that may be different from java.exe + javaws.jar invocation.
This "-d" is an internal flag that is used only by uninstaller. Also the
files are being deleted with it are the config and cache files that are
deleted on uninstall/update anyway. So I'd rather leave it as is.
> Als should the search location for the deployment properties moved to
> webstaret\deployment.properties from jre\lib\deployment.properties so we
> can actually ship some?
This is probably a valid point, possibly it should search more places
for this file. I don't have a first-hand experience with
deployment.properties, can you describe a use-case how it may be used?
> If I manually enable the console it will show up (but the ITW console is
> ratehr bulky). When I use the "HIDE" option, is there a way to actually
> make it visible?
ITW console is not supported in bundled ITW, buttons to open it should
not appear on ITW forms that are displayed to user with normal JNLP
runs. IMO this console is bloated and buggy.
> BTW: the build misses a few html files for javaws -about (especially the
> about, authors and license, but also news and changelog pages).
These files are processed with ITW build system (that is a complete
joke) it is not possible to include them when building only Java code of
ITW directly.
> The help page is rather helpful to find the actual path, which shows that
> the current defaults are a bot strange:
>
>
> - *c:\Program
> Files\ojdkbuild\java-1.8.0-openjdk-1.8.0.171-1\jre\lib\deployment.config *-
> java-global deployment properties file. May be affected by
> deployment.jre.dir.
> - *c:\Program
> Files\ojdkbuild\java-1.8.0-openjdk-1.8.0.171-1\jre\lib\security\cacerts *-
> Contains various system java-wide stored certificates. Gesteuert durch
> *deployment.system.security.cacerts*
> - *c:\Program
> Files\ojdkbuild\java-1.8.0-openjdk-1.8.0.171-1\jre\lib\security\jssecacerts
> *- Contains various system java-wide stored certificates. Gesteuert
> durch *deployment.system.security.jssecacerts*
> - *c:\Program
> Files\ojdkbuild\java-1.8.0-openjdk-1.8.0.171-1\jre\lib\security\trusted.certs
> *- Contains various system java-wide stored certificates. Gesteuert
> durch *deployment.system.security.trusted.certs*
> - *c:\Program
> Files\ojdkbuild\java-1.8.0-openjdk-1.8.0.171-1\jre\lib\security\trusted.clientcerts
> *- Contains various system java-wide stored certificates. Gesteuert
> durch *deployment.system.security.trusted.clientautcerts*
> - *c:\Program
> Files\ojdkbuild\java-1.8.0-openjdk-1.8.0.171-1\jre\lib\security\trusted.jssecerts
> *- Contains various system java-wide stored certificates. Gesteuert
> durch *deployment.system.security.trusted.jssecerts*
> - *C:\Users\USER\AppData\Local\Temp\Eckenfel\netx\locks *- Location of
> netx locks. Gesteuert durch *deployment.user.locksdir*
> - *C:\Users\USER\AppData\Local\Temp\Eckenfel\netx\locks\netx_running *-
> Location of netx main lock. Gesteuert durch *deployment.user.runningfile*
> - *C:\Users\USER\AppData\Local\ojdkbuild\java-1.8.0-openjdk-1.8.0.171-1.b10.ojdkbuild.windows.x86_64\webstart\.cache\icedtea-web\cache
> *- Contains cached runtime entries. Gesteuert durch
> *deployment.user.cachedir*
> - *C:\Users\USER\AppData\Local\ojdkbuild\java-1.8.0-openjdk-1.8.0.171-1.b10.ojdkbuild.windows.x86_64\webstart\.cache\icedtea-web\cache\recently_used
> *- Additional information about items in cache
> - *C:\Users\USER\AppData\Local\ojdkbuild\java-1.8.0-openjdk-1.8.0.171-1.b10.ojdkbuild.windows.x86_64\webstart\.cache\icedtea-web\pcache
> *- Contains saved application data. Gesteuert durch
> *deployment.user.pcachedir*
> - *C:\Users\USER\AppData\Local\ojdkbuild\java-1.8.0-openjdk-1.8.0.171-1.b10.ojdkbuild.windows.x86_64\webstart\.cache\icedtea-web\tmp
> *- Contains temporary runtime files. Gesteuert durch
> *deployment.user.tmp*
> - *C:\Users\USER\AppData\Local\ojdkbuild\java-1.8.0-openjdk-1.8.0.171-1.b10.ojdkbuild.windows.x86_64\webstart\.config\icedtea-web\.appletTrustSettings
> *- File responsible for various actions on applets and apps based on
> their codebase based on users actions.
> - *C:\Users\USER\AppData\Local\ojdkbuild\java-1.8.0-openjdk-1.8.0.171-1.b10.ojdkbuild.windows.x86_64\webstart\.config\icedtea-web\deployment.properties
> *- Users main deployment properties file.
> - *C:\Users\USER\AppData\Local\ojdkbuild\java-1.8.0-openjdk-1.8.0.171-1.b10.ojdkbuild.windows.x86_64\webstart\.config\icedtea-web\icons
> *- Location where icons of javaws applications desktop/menu launchers
> icons are stored
> - *C:\Users\USER\AppData\Local\ojdkbuild\java-1.8.0-openjdk-1.8.0.171-1.b10.ojdkbuild.windows.x86_64\webstart\.config\icedtea-web\log
> *- contains file-log files (if enabled), itw-cplugin-date_time.log for
> native part of plugin, itw-javantx-date_time.log for everything else.
> Gesteuert durch *deployment.user.logdir*
> - *file://C:\USER\Eckenfel\AppData\Local\ojdkbuild\java-1.8.0-openjdk-1.8.0.171-1.b10.ojdkbuild.windows.x86_64\webstart\.config\icedtea-web\security\java.policy
> *- Contains granted permissions for selected unsigned apps. Gesteuert
> durch *deployment.user.security.policy*
> - *C:\Users\USER\AppData\Local\ojdkbuild\java-1.8.0-openjdk-1.8.0.171-1.b10.ojdkbuild.windows.x86_64\webstart\.config\icedtea-web\security\trusted.cacerts
> *- Contains various users stored certificates. Gesteuert durch
> *deployment.user.security.trusted.cacerts*
> - *C:\Users\USER\AppData\Local\ojdkbuild\java-1.8.0-openjdk-1.8.0.171-1.b10.ojdkbuild.windows.x86_64\webstart\.config\icedtea-web\security\trusted.certs
> *- Contains various users stored certificates. Gesteuert durch
> *deployment.user.security.trusted.certs*
> - *C:\Users\USER\AppData\Local\ojdkbuild\java-1.8.0-openjdk-1.8.0.171-1.b10.ojdkbuild.windows.x86_64\webstart\.config\icedtea-web\security\trusted.clientcerts
> *- Contains various users stored certificates. Gesteuert durch
> *deployment.user.security.trusted.clientauthcerts*
> - *C:\Users\USER\AppData\Local\ojdkbuild\java-1.8.0-openjdk-1.8.0.171-1.b10.ojdkbuild.windows.x86_64\webstart\.config\icedtea-web\security\trusted.jssecacerts
> *- Contains various users stored certificates. Gesteuert durch
> *deployment.user.security.trusted.jssecacerts*
> - *C:\Users\USER\AppData\Local\ojdkbuild\java-1.8.0-openjdk-1.8.0.171-1.b10.ojdkbuild.windows.x86_64\webstart\.config\icedtea-web\security\trusted.jssecerts
> *- Contains various users stored certificates. Gesteuert durch
> *deployment.user.security.trusted.jssecerts*
> - *C:\Users\USER\AppData\Local\ojdkbuild\java-1.8.0-openjdk-1.8.0.171-1.b10.ojdkbuild.windows.x86_64\webstart\.local\share\applications\javaws
> *- Subdirectory in users menus space, for placing custom menu shortcuts.
> - *\etc\.java\deployment\.appletTrustSettings *- File responsible for
> various actions on applets and apps based on their codebase based on admins
> actions.
> - *\etc\.java\deployment\deployment.config *- Global deployment config
> file.
>
> BTW when I configure .jnlp file hander in firefox (as it seems not to pick
> up the registry) it will download the file as a tempfile and then pass it
> to javaws.exe. Is there a way to actually pass the URL to it (as it might
> result in mixed domain warning)
M, this part is directly related to launcher (not to ITW) and it should
work with Firefox. With local tests I found Firefox to have the best
integration (over chrome/ie) with launching custom files/urls. And it
picks up registry settings (added on installation) fine for me on both
Win7 and Win10.
Integration is done separately for JNLP files and jnlp:// URLS so the
behaviour for them may be slightly different. Can you describe your
setup (and problems) in more details? I use examples from here (
https://icedtea.classpath.org/wiki/IcedTea-Web-Tests#IcedTea-Web_webstart_.28javaws.29_test_applications
) for testing (though the jnlp:// examples that were there in the past
are not accessible any more).
> Greetings
> Bernd
>
--
-Alex