Question

I'm using Mac OS X Mavericks and JDK 1.7.45 to package a Swing application using the javafxpackager tool for Mac. Unfortunately the end result looks like this (hid the icon/name):

enter image description here

Scrolling a bit to the right clarifies the picture:

enter image description here

Apparently the Applications image was placed incorrectly within the DMG. I have no idea how that can happen or what I might have done that triggered this, I just used the standard NetBeans packaging script. Any hints or directions would be appreciated.

Was it helpful?

Solution

OK this turned out to be rather simple, it seems that the tool generates the script:

tell application "Finder"
  tell disk "MyApplication"
    open
    set current view of container window to icon view
    set toolbar visible of container window to false
    set statusbar visible of container window to false

    -- size of window should match size of background
    set the bounds of container window to {400, 100, 917, 370}

    set theViewOptions to the icon view options of container window
    set arrangement of theViewOptions to not arranged
    set icon size of theViewOptions to 128
    set background picture of theViewOptions to file ".background:background.png"

    -- Create alias for install location
    make new alias file at container window to POSIX file "/Applications" with properties {name:"Applications"}

    -- First, move all files far enough to be not visible if user has "show hidden files" option set
    -- Note: this only make sense if "hidden" files are also visible on the build system
    --   otherwise command below will only return list of non-hidden items
    set filesToHide to the name of every item of container window
    repeat with theFile in filesToHide
         set position of item theFile of container window to {1000, 0}
    end repeat

    -- Now position application and install location
    set position of item "MyApplication" of container window to {120, 135}
    set position of item "Applications" of container window to {390, 135}

    close
    open
    update without registering applications
    delay 5
  end tell
end tell

Which is problematic since it only delays for 5 (I assume seconds) so I increased this to 20 and it worked. The script should be placed under package/macosx/MyApplication-dmg-setup.scpt.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top