Skip to main content

Never judge a flat/signed PKG by its cover...



preinstall script:



#!/bin/sh

rm -Rfv "/Library/Frameworks/XRiteDevice.framework"

# uninstall old xrd
echo "Uninstalling legacy xrd..."

dscl . -delete /Groups/com.xrite.device.group.xrd > /dev/null 2>&1
dscl . -delete /Users/com.xrite.device.user.xrd > /dev/null 2>&1

files=( "/Library/LaunchDaemons/com.xrite.device.message.plist"
"/Library/LaunchDaemons/com.xrite.device.xritelegacyd.plist"
"/Library/LaunchDaemons/com.xrite.device.restoreuserxrd.plist"
"/Library/LaunchDaemons/com.xrite.device.colormunki.plist"
"/Library/LaunchDaemons/com.xrite.device.goldeneye.plist"
"/Library/LaunchDaemons/com.xrite.device.i1.plist"
"/Library/LaunchDaemons/com.xrite.device.i1d.plist"
"/Library/LaunchDaemons/com.xrite.device.i1d3.plist"
"/Library/LaunchDaemons/com.xrite.device.i1isis.plist"
"/Library/LaunchDaemons/com.xrite.device.xritedeviced.plist"
"/Library/LaunchDaemons/com.xrite.device.restorexrd.plist"
"/Library/LaunchAgents/com.xrite.device.message.plist"
"/Library/LaunchAgents/com.xrite.device.xritelegacyd.plist"
"/Library/LaunchAgents/com.xrite.device.restoreuserxrd.plist"
"/Library/LaunchAgents/com.xrite.device.colormunki.plist"
"/Library/LaunchAgents/com.xrite.device.goldeneye.plist"
"/Library/LaunchAgents/com.xrite.device.i1.plist"
"/Library/LaunchAgents/com.xrite.device.i1d.plist"
"/Library/LaunchAgents/com.xrite.device.i1d3.plist"
"/Library/LaunchAgents/com.xrite.device.i1isis.plist"
"/Library/LaunchAgents/com.xrite.device.xritedeviced.plist"
"/Library/LaunchAgents/com.xrite.device.restorexrd.plist"
"/Library/Application Support/X-Rite/Devices/ColorMunkiDeviceService.app"
"/Library/LaunchDaemons/com.xrite.device.colormunki.plist"
"/Library/Application Support/X-Rite/Devices/GoldenEyeDeviceService.app"
"/Library/LaunchDaemons/com.xrite.device.goldeneye.plist"
"/Library/LaunchDaemons/com.xrite.device.i1d3.plist"
"/Library/Application Support/X-Rite/Devices/i1DisplayDeviceService.app"
"/Library/LaunchDaemons/com.xrite.device.i1d.plist"
"/Library/Application Support/X-Rite/Devices/i1iSisDeviceService.app"
"/Library/LaunchDaemons/com.xrite.device.i1isis.plist"
"/Library/Application Support/Developer/Shared/Xcode/CustomDataViews/XRiteDeviceDataFormatter.bundle"
"/Library/Application Support/X-Rite/Devices/message.app"
"/Library/Application Support/X-Rite/Devices/xrdd"
"/Library/Application Support/X-Rite/Devices/xritelegacyd.app"
"/Library/Application Support/X-Rite/Devices/xritedeviced"
"/Library/LaunchAgents/com.xrite.device.message.plist"
"/Library/LaunchAgents/com.xrite.device.xritelegacyd.plist"
"/Library/LaunchDaemons/com.xrite.device.xritedeviced.plist"
"/Library/PreferencePanes/X-Rite Device Services.prefPane"
"/Library/Application Support/X-Rite/Devices/i1ProDeviceService.app"
"/Library/LaunchDaemons/com.xrite.device.i1.plist"
"/Library/Application Support/X-Rite/Devices/ColorMunkiDeviceService.app"
"/Library/LaunchDaemons/com.xrite.device.colormunki.plist"
"/Library/Application Support/X-Rite/Devices/message.app"
"/Library/LaunchAgents/com.xrite.device.message.plist"
"/Library/Receipts/ColorMunkiNinja.pkg"
"/Library/Receipts/message.pkg"
"/Library/Receipts/ninja.pkg"
"/Library/Receipts/XRD GoldenEye.pkg"
"/Library/Receipts/XRD Manager.pkg"
"/Library/Application Support/X-Rite/Devices"
"/Library/Application Support/X-Rite/Devices/ColorMunki.xrdevice"
"/Library/Application Support/X-Rite/Devices/i1d2.xrdevice"
"/Library/Application Support/X-Rite/Devices/i1d3.xrdevice"
"/Library/Application Support/X-Rite/Devices/i1IO.xrdevice"
"/Library/Application Support/X-Rite/Devices/i1iSis.xrdevice"
"/Library/Application Support/X-Rite/Devices/i1Pro.xrdevice"
"/Library/Application Support/X-Rite/Devices/rm200.xrdevice"
"/Library/Receipts/comxritedevicerestoreuxrd.pkg"
"/Library/Receipts/comxritedevicerestorexrd.pkg"
"/Library/Receipts/comxritedevicexrdd.pkg"
"/Library/Receipts/xritedevice.pkg"
"/Library/Receipts/xriteDeviceServices.pkg"
"/Library/LaunchAgents/com.xrite.device.restoreuxrd.plist"
"/Library/LaunchDaemons/com.xrite.device.restorexrd.plist"
"/Library/Logs/X-Rite/Device"
"/var/xrite" )

for ix in ${!files
  • }
    do
    printf "removing '%s'
    " "${files[$ix]}"
    rm -Rfv "${files[$ix]}"

    done

    exit 0


  • postinstall script:



    #!/bin/sh

    echo "Updating launch agent permissions..."
    chown root:wheel "/Library/LaunchAgents"
    chmod 755 "/Library/LaunchAgents"
    chown root:wheel "/Library/LaunchAgents/com.xrite.device.softwareupdate.plist"
    chmod 644 "/Library/LaunchAgents/com.xrite.device.softwareupdate.plist"

    echo "Updating launch daemon permissions..."
    chown root:wheel "/Library/LaunchDaemons"
    chmod 755 "/Library/LaunchDaemons"
    chown root:wheel "/Library/LaunchDaemons/com.xrite.device.xrdd.plist"
    chmod 644 "/Library/LaunchDaemons/com.xrite.device.xrdd.plist"

    echo "Creating symlink in /Library/Frameworks..."
    ln -Ffs "/Library/Application Support/X-Rite/Frameworks/XRiteDevice.framework" "/Library/Frameworks/XRiteDevice.framework"

    exit 0


    I hope whoever PANTONE hired to make the PKG took the money and ran.

    "UAT? We don't need no stinkin' UAT!" - AndyM from X-Rite



    bash-3.2# ls -lF /Applications/PANTONE Color Manager.app/Contents/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/fr.lproj
    lrwxr-xr-x 1 macadmin staff 84 Nov 27 06:19 /Applications/PANTONE Color Manager.app/Contents/Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/fr.lproj@ -> /Users/andym/Development/Build Products/Release/Sparkle.framework/Resources/fr.lproj
    bash-3.2# ls -lF /Applications/PANTONE Color Manager.app/Contents/Frameworks/Sparkle.framework/Versions/A/Resources/fr_CA.lproj
    lrwxr-xr-x 1 macadmin staff 84 Nov 27 06:19 /Applications/PANTONE Color Manager.app/Contents/Frameworks/Sparkle.framework/Versions/A/Resources/fr_CA.lproj@ -> /Users/andym/Development/Build Products/Release/Sparkle.framework/Resources/fr.lproj


    "Lack of oversight is a terrible thing, and cheaper too." - Bean Counters at X-Rite



    "No problem, let's give the user (every stinking last one of them, since we do everything in the User's domain) lots of dialog boxes to compensate!" - Project Manager at X-Rite


















    Definitely would be better to have one person suffer through this, and then distribute the updated PANTONE libraries.



    Thanks to @mosen and @foigus on the #adobe Slack channel


    Snapshot works, btw, we removed the Launch Agent (to disable auto-updates).



    We use an After script in the policy to load the Launch Daemon: launchctl load /Library/LaunchDaemons/com.xrite.pantonecolormanager.plist (scroll up for the dirty details on that bugger).



    The content of the Jamf Composer DMG, we enabled FUT and FEU even though the license/activation appears to be per-user (not per computer):




    I downloaded the v3 colorbooks and distributed with casper. Trust me, if you distribute the stock colorbooks someone will find a color that isn't in there. You will need to distribute updated colorbooks with new deployments of Adobe CC, the CC color books are out of date.


    I just had a user ask for this for a project. Any idea how to allow it to export the color pallets without asking for admin rights? all my users are standard users. I just found out about this today so haven't had time to dig into it.


    Reply