JDK-8132434 : On Mac Install Run javawslauncher.app to register protocol handler with Launch Services
  • Type: Sub-task
  • Component: install
  • Sub-Component: install
  • Affected Version: 8-pool,9
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: os_x
  • Submitted: 2015-07-27
  • Updated: 2017-09-13
  • Resolved: 2015-09-15
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
8u102Fixed 9 b85Fixed
Related Reports
Relates :  
Relates :  
To implement JDK-8055464 on Mac a .app must be created that handles the protocol jnlp and jnlps. I am nearing completion of this app and will have a patch shortly. However, this app must be run once on install in order to register the app with Launch Services. The app will be located here:

/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Resources/javawslauncher.app
Verified with JDK9 b128

WRT Chris' comments: 1. The app was mostly portable, changes to the Xcode project and minor changes to main.m since we can't use ARC on 10.7 2. The install changes applied cleanly to jdk8u/jdk8u-dev/install

+1 on last patch. Everything seemed to work.

The JDK 9 deploy repository has the JavawsLauncher.app code merged so all that's waiting for this to work is the installer registration work.

Target 9, 8u is TBD.

Yes, it is headless. I have it set to be an agent app: <key>LSUIElement</key> <true/> but I know there are issues registering with Launch Services, so whatever you see best!

Hi Chris, is this app a headless app? If not then it will show some UE which is a problem during AU and silent install. We would then have to NOT launch the actual app but rather register it using lsregister