Skip to main content
Jamf Nation, hosted by Jamf, is a knowledgeable community of Apple-focused admins and Jamf users. If you like what you see, join us in person at the ninth annual Jamf Nation User Conference (JNUC) this October for three days of learning, laughter and IT love.

Deploying PKGs Created with AAMEE or Creative Cloud Packager

Overview

The Adobe Application Manager Enterprise Edition (AAMEE) and Creative Cloud Packager are tools designed to package Adobe Creative Suite and Creative Cloud products in the PKG format. Adobe CS5 or later and Creative Cloud PKGs created with these tools cannot be deployed if your master distribution point is a file distribution point with an SMB share.

There are two workarounds for deploying an Adobe CS5 or later PKG or a Creative Cloud PKG if your master distribution point is a file distribution point with an SMB share:

  • Create the PKG using Composer’s snapshot method.
  • Wrap an AAMEE or Creative Cloud Packager PKG inside a DMG and deploy it using a policy.

This article explains how to wrap a PKG created with AAMEE or Creative Cloud Packager inside a DMG and deploy it using a policy in Jamf Pro.

Products Affected

Jamf Pro

Requirements

The following components are required to wrap an AAMEE or Creative Cloud Packager PKG inside a DMG and deploy it using a policy in Jamf Pro:

Procedure

This workaround involves the following steps:

  • Step 1: Wrap an AAMEE or Creative Cloud Packager PKG inside a DMG.
  • Step 2: Add the DMG and installPKGfromDMG.sh script to Jamf Admin.
  • Step 3: Create a policy that caches the DMG and runs the script to install it.

Note: Step 3 is different depending on which version of Jamf Pro you are using. Follow the instructions for the appropriate version.

Step 1: To wrap an AAMEE or Creative Cloud Packager PKG inside a DMG:

  1. Open Disk Utility.
  2. From the menu bar, choose File > New > Disk Image from Folder.
  3. Browse for the AAMEE or Creative Cloud Packager PKG.
  4. Select it and click the Image button.
  5. Name the package “Adobe_Install.dmg”.
  6. Choose a location for the package and then click Save.

Step 2: To add the DMG and installPKGfromDMG.sh script to Jamf Admin:

  1. Open Jamf Admin and authenticate to Jamf Pro.
  2. Drag the package you created in the previous procedure and the installPKGfromDMG.sh script to the main repository in Jamf Admin.
  3. Save your changes and quit the application.

Step 3: To create a policy to install the DMG (version 9.0 or later):

  1. Log in to Jamf Pro with a web browser.
  2. Click Computers at the top of the page.
  3. Click Policies. On a smartphone, this option is in the pop-up menu.
  4. Click New.
  5. In the General payload, enter a display name for the policy.
  6. Select Login as the trigger.
  7. Choose "once per computer" from the Execution Frequency pop-up menu.
  8. Select the Packages payload and click Configure.
  9. Click Add for the Adobe_Install.dmg package.
  10. Choose “Cache” from the Action pop-up menu.
  11. Select the Scripts payload and click Configure.
  12. Click Add for the installPKGfromDMG.sh script.
  13. Choose “After” from the Priority pop-up menu.
  14. Enter the exact name of the original DMG as a parameter value.
  15. Click the Scope tab and configure the scope of the policy.
  16. Click Save.

Additional Information

For more information on creating packages using Composer’s snapshot method, see the “Creating Package Sources” section of the Jamf Pro Administrator's Guide.

Like Comment
Order by:
SOLVED Posted: by donmontalvo

Wow, how ironic...we just happen to deliver our AAMEE packages wrapped in DMG format (we then extract the PKG to upload to JSS). We do this since ZIP format has had corruption problems.

When we migrate our Distribution Points to SMB (soon), we can easily adapt to the above workflow. Thanks for the KB!

Don

Like
SOLVED Posted: by themacdweeb

don, you lost me there: how are you delivering via DMG if you're extracting the PKG to the JSS?

Like
SOLVED Posted: by ktappe

I use method 1, "Create the package using Composer’s snapshot method." I do this because I find AAMEE often fails to install all the available updates for the CS5 components.

Thus I must:
1) generate a base .pkg using AAMEE,
2) migrate it to a virgin Mac that contains Composer,
3) run Composer, configure it to not exclude Adobe PCD, & scan the system,
4) install the AAMEE-generated package,
5) install the missing updates manually,
6) perform the hacks to prevent Acrobat self-repair,
7) then capture with Composer.

And Adobe wonders why it has a reputation...

Like
SOLVED Posted: by donmontalvo

@themacdweeb Sorry for the late reply, unfortuantely there is no "notify if you get replies to your posts" option here. LOL

What I mean is the PKG generated by AAMEE is put into a DMG for safe transport. Recipients are Help Desk (where the DMG is stored on a file server) and JSS (where we uploaded only the PKG).

Now that we know there is an issue with SMB, we simply replace the PKG on the JSS with a DMG and include a script to mount the DMG and trigger the installer.

The Help Desk continues to use the DMG we uploaded to the file share...mount and run the PKG.

The JSS now holds DMGs and a few extra scripts.

Don

Like
SOLVED Posted: by donmontalvo

Has anyone tested to see if this works with Adobe CS6?

Like
SOLVED Posted: by Lincoln

Don,

I notice you posted earlier here:

https://jamfnation.jamfsoftware.com/discussion.html?id=4482

Take another look. I am deploying CS6 AAMEE PKG wrapped in DMG via SMB using the methods outlined there. I don't get 100% success rate in that I do get errors on the policy sometimes. Much of the time the package has actually installed correctly but some part of the process has reported an error. Occasionally it does actually fail and I haven't been able to nail down why. However, I can live with the failure rates I'm seeing even though I'd like for it to work all the time.

Regards

Lincoln

Like
SOLVED Posted: by mradford

Is it necessary to define the variable 'dmgNAME' within installPKGfromDMG.sh?

Like
SOLVED Posted: by jme

I was wondering this as well:

Is it necessary to define the variable 'dmgNAME' within installPKGfromDMG.sh?

Also, the comments in the script differ slightly from the instructions in the article, and I am curious to hear which documentation should be followed.

The script states:

# 11. Enter the name of the original PKG in the Parameter 4 field.
\# Note: You must enter the exact name of the PKG in the Parameter 4 field. If you need \# to verify the name of the PKG, you can mount the DMG that it is wrapped inside.
Where as this article, in step 11, says:
Enter the exact name of the original DMG in the Parameter 4 field.

Like
SOLVED Posted: by erin.miska

Hey guys,

If you define the DMG name using parameter 4 as we've outlined here, you do not need to define the "dmgName" variable in the script.

Jamie, it looks like you may have an outdated version of this script. The most up-to-date version of all Resource Kit materials are here on JAMF Nation.

You'll want to enter the name of the DMG in the Parameter 4 field. This KB and the version of the script that is on JAMF Nation (https://jamfnation.jamfsoftware.com/viewProductFile.html?id=3&fid=547) have the correct procedure.

Sorry for the confusion!

-Erin

Like
SOLVED Posted: by donmontalvo

nm

Like
SOLVED Posted: by donmontalvo

Ok, so the one in the link provided by @erin.miska shows:

# 11. Enter the name of the original DMG in the Parameter 4 field.

And the one in the latest Resource Kit (Nov 2011) shows:

# 11. Enter the name of the original PKG in the Parameter 4 field.
# Note: You must enter the exact name of the PKG in the Parameter 4 field. If you need
# to verify the name of the PKG, you can mount the DMG that it is wrapped inside.

...might want to update the script in the link so it matches the one in the latest Resource Kit (Nov 2011).

...any chance the change can be noted in the script too? Our packager is a scripting wiz, so comments matter. :)

Thanks,
Don

Like
SOLVED Posted: by erin.miska

Don,

The script in the link is correct; the script in the latest Resource Kit (Nov 2011) is not. We are working on getting the incorrect one updated.

Thanks,
Erin

Like
SOLVED Posted: by donmontalvo

@erin.miska Ahh...thanks for the clarification, I misread your earlier post.

Like
SOLVED Posted: by SeanA

Regarding this point, I have a question:

11. Enter the name of the original DMG in the Parameter 4 field.

Is the name of the original DMG in the form of "filename" or "filename.dmg" ?

Right now, not sure why, I am having problems with getting this script to work. The vast majority of times, I receive the error:

Installing Package from mount path ...

There is a problem with your syntax.

     Error: No package was specified

Type "jamf help" for more information.

There was an error installing the package. Exit Code: 1
Unmounting disk ...

I made sure the correct script was in Casper Admin. I have tried different nomenclatures (spaces, no spaces, etc). I am currently trying to run the script locally with the AAMEE package ALREADY in "/Library/Application Support/JAMF/Waiting Room". I am not meeting success.

Any thoughts?

(Currently, now, I am seriously considering the "snapshot" method, but I really would like to know what i am missing here.)

Thanks.

Like
SOLVED Posted: by donmontalvo

Our PKG naming convention is typically vendor_application_version.pkg so normally we'd have:

Apple_FinalCutProX_10.0.7.pkg

For AAMEE we use vendor_application_language_date.pkg

Adobe_CS6DP_enUS_20121227_Install.pkg

Our DMG would follow the same convention so would look like:

Adobe_CS6DP_enUS_20121227_Install.dmg

So we would use that for the DMG name.

PS, hoping you're not using the script in the latest (Nov 2011) Resource Kit...need to use the one from this KB:

https://jamfnation.jamfsoftware.com/viewProductFile.html?id=3&fid=547

Don

Like
SOLVED Posted: by matt4836

Make sure your original PKG does NOT have spaces. Disk Utility will use that as the mount point for the DMG. The script tries to find the mount point by greping then awking. If there is a space the variable isn't filled properly and the install will fail.

Like
SOLVED Posted: by donmontalvo

@matt4836 We found this to be true too, variables broke because of spaces, didn't seem to matter how we escaped.

Like
SOLVED Posted: by jeremy.spolander

Hi All,

I think i get how this works but have several diferent versions of CS to package for diferent teams.

Do i need to vary the script and go with several scripts or should i be uploading one large dmg with all of the diferent installers form AAME and using the paramater field on each policy to specify which installer to pull down?

Thanks

Jeremy

Like
SOLVED Posted: by seanhansell

With SMB becoming the default file sharing protocol in OS X 10.9 "Mavericks", is this issue going to be addressed in a more comprehensive manner?

Like
SOLVED Posted: by mscottblake

Unfortunately, the problem relates back to Adobe and their need for overly complicated installation packages. Since SMB does not see the AAMEE created PKG as a single file, but rather a folder, it breaks something in the PKG internals when you place the PKG on the share. Until Adobe fixes it, this is going to continue to be a problem for everyone.

Like
SOLVED Posted: by hkim

@seanhansell

http://images.apple.com/osx/preview/docs/OSX_Mavericks_Core_Technology_Overview.pdf

SMB != SMB2 AFP support is not going away from Mavericks
xSMB2 is merely the default, as in if you don't specifically mention how you want to connect to a file share, it'll try SMB2, and if that fails, it should revert to AFP like it does today, or worst come to worst, you have to specifically state you want to connect over AFP. If your file share doesn't support SMB2, then it's not a big deal.

Let's not also forget when Apple says it supports SMB2 in Mavericks, what happened when 10.7 came out and nightmare that was SMBX.

Like
SOLVED Posted: by garyj

Step 3 for 9.0 or later says to select "Install" for the DMG. It should be "Cache" since the script will run the PKG file from the cached DMG.

Like
SOLVED Posted: by tep

I just got the following error when executing the policy:

Script result: Variable "dmgName" value is set to: Adobe_Install.dmg Mounting the DMG Adobe_Install.dmg... DMG mounted successfully as volume /Volumes/Creative on device /dev/disk2. ls: /Volumes/Creative: No such file or directory Installing Package from mount path /Volumes/Creative... There is a problem with your syntax. Error: No package was specified Type "jamf help" for more information. There was an error installing the package. Exit Code: 1 Unmounting disk /dev/disk2... "disk2" unmounted. "disk2" ejected.

I specified parameter 4 as instructed, so I'm not really sure what failed. I don't remember ever specifying /Volumes/Creative anywhere. Any help is appreciated!

Like
SOLVED Posted: by tep

Nevermind. I'm an idiot. There were spaces in the .pkg name.

Like
SOLVED Posted: by etippett

Also check for spaces in the name of the volume the DMG mounts as. This line in the installPKGfromDMG.sh doesn't tolerate spaces in the volume name since it uses awk with a space delimiter to determine the volume name.

mountVolume=`echo "$mountResult" | grep Volumes | awk '{print $3}'`

My guess is that your DMG mounts as "Creative Cloud" or something similar, hence why you're only getting "/Volumes/Creative"

Previously I've dealt with this by just using Disk Utility to remake the DMG with a different volume name. I'd just never taken the time to figure out a permanent fix to the script. I took a quick look at the script again, though, and think I may have a solution. This is VERY minimally tested. Change the above line in the script to

mountVolume="/Volumes/$(echo "$mountResult" | grep Volumes | awk -F "/Volumes/" '{print $2}')"

Good luck!

Like
SOLVED Posted: by CAJensen01

Can this really be the case?

Unfortunately, the problem relates back to Adobe and their need for overly complicated installation packages. Since SMB does not see the AAMEE created PKG as a single file, but rather a folder, it breaks something in the PKG internals when you place the PKG on the share. Until Adobe fixes it, this is going to continue to be a problem for everyone.

If I copy the installer to a SMB share (such as the distribution point), then copy it locally to a machine from that share, I can install it and run it fine. Why would this behave any differently for the Casper tools?

This is an extremely frustrating issue.

Like
SOLVED Posted: by aamjohns

@SeanA][/url
To answer your question, in the parameter for the script you do need to include the .dmg extension on the name. I too was confused on that so I thought I would answer your question.

Also, we deploy this using Self Service. Do everything the same as the instructions. For the package the Action setting is 'Cache'. Then use the script as 'After' and specify the .dmg file created.

Like
SOLVED Posted: by Kyuubi

Guys, I'm having trouble with Creative Cloud and Casper. I followed the instructions above and created a package OPAInstall from the CC Packager. No spaces. Wrapped it in a DMG and then moved it over to Casper Admin. Set up the Self Service policy and everything. When i run it in the lab it fails on a 10.6.8 machine. I've attached the Casper Logs. Can anyone help?

Policy log: HQ-OIT-ML32703 at Monday, May 05 2014 at 5:45 PM

/usr/sbin/jamf is version 8.72
Executing Policy Adobe Creative Cloud...
[STEP 1 of 4]
Mounting afp://opc-ad-netboot1.ad.sec.gov/CasperShare to /Volumes/CasperShare...
[STEP 2 of 4]
Caching package...
[STEP 3 of 4]
Running script installPKGfromDMG.sh...
Script exit code: 0
Script result: Variable "dmgName" value is set to: OPAInstall_Install.pkg.dmg
Mounting the DMG OPAInstall_Install.pkg.dmg...
DMG mounted successfully as volume /Volumes/OPAInstall_Install on device /dev/disk2.
Installing Package OPAInstall_Install.pkg from mount path /Volumes/OPAInstall_Install...
Copying OPAInstall_Install.pkg...
Installing OPAInstall_Install.pkg...
Installation failed. The installer reported: 2014-05-05 17:16:34.276 installer[72923:312b] PackageKit: ** Missing bundle identifier: /Library/Receipts/Dell Font Set D.pkg
2014-05-05 17:16:34.355 installer[72923:312b] PackageKit: *
* Missing bundle identifier: /Library/Receipts/Dell Laser Printer 5310n Configdef.pkg
2014-05-05 17:16:34.374 installer[72923:312b] PackageKit: *** Missing bundle identifier: /Library/Receipts/Dell Laser Printer 5310n.pkg
installer: Package name is OPAInstall
installer: Installing at base path /
installer: The install failed (The Installer encountered an error that caused the installation to fail. Contact the software manufacturer for assistance.)
Package successfully installed.
Unmounting disk /dev/disk2...
"disk2" unmounted.
"disk2" ejected.
Unmounting file server...
[STEP 4 of 4]
Running Recon...
Locating mobile device records...

Like
SOLVED Posted: by bgreeno

I have been having problems with this for quite awhile. No matter if I wrap the .pkg in a .dmg or just install the .pkg I get (The Installer encountered an error that caused the installation to fail. Contact the software manufacturer for assistance.)

Script result: Variable "dmgName" value is set to: Adobe_CC_Acrobat_XI_Pro_Install.dmg Mounting the DMG Adobe_CC_Acrobat_XI_Pro_Install.dmg... DMG mounted successfully as volume /Volumes/Adobe_CC_Acrobat_XI_Pro_Install on device /dev/disk2. Installing Package Adobe_CC_Acrobat_XI_Pro_Install.pkg from mount path /Volumes/Adobe_CC_Acrobat_XI_Pro_Install... Copying Adobe_CC_Acrobat_XI_Pro_Install.pkg... Installing Adobe_CC_Acrobat_XI_Pro_Install.pkg... Installation failed. The installer reported: installer: Package name is Adobe_CC_Acrobat_XI_Pro installer: Installing at base path / installer: The install failed (The Installer encountered an error that caused the installation to fail. Contact the software manufacturer for assistance.) Package successfully installed. Unmounting disk /dev/disk2... "disk2" unmounted. "disk2" ejected.

Like
SOLVED Posted: by dsmith

@bgreeno

I get this error with my Photoshop Install and am banging my head against the wall.

Script result: Variable "dmgName" value is set to: Adobe_Photoshop_CC_Install.dmg Mounting the DMG Adobe_Photoshop_CC_Install.dmg... DMG mounted successfully as volume /Volumes/Adobe_Photoshop_CC_Install on device /dev/disk4. Installing Package from mount path /Volumes/Adobe_Photoshop_CC_Install... There is a problem with your syntax. Error: No package was specified Type "jamf help" for more information. There was an error installing the package. Exit Code: 1 Unmounting disk /dev/disk4... "disk4" unmounted. "disk4" ejected.

Like
SOLVED Posted: by tep

@bgreeno @dsmith

I'm seeing this now as well.

Like
SOLVED Posted: by mibrodt

I've seen the same thing with both CS6 and CC.

Like
SOLVED Posted: by RobertHammen

I had the same problem with Creative Cloud 2014, so I ended up hard-coding the DMG and PKG names, instead of using the variables.

Like
SOLVED Posted: by r.a

I've gotten CC & CC2014 installed perfectly fine through policies and even in Self-service. One thing I'm stumbling on is getting this into the dock after installation in complete.
Added a Dock item payload, but noticed that seems to get installed before the script does so it throws up a ? icon in the dock and even after the successful install, it does not locate the actual adobe app.

Like
SOLVED Posted: by stevewood

@randy.andersen look at using dockutil (http://goo.gl/5woPQh) in an After script to add the icons to all user's docks. I have better luck with that than I do a Dock item.

Like
SOLVED Posted: by mjohnston

Hi all, I need help.
I repackaged my dmg so the dmg and the pkg inside both have no spaces.
I ran this dmg manually on a machine and it installs as expected.
On the policy, action is set to Cache and script to run After and Parameter 4 = Bit9Agent.dmg
In the script I edited as follows to declare the name of the internal pkg:

\# Find the PKG in the DMG
packageName="InstallBit9SecurityPlatform.pkg"

The log when this policy runs and fails is:

Executing Policy Bit9 Client Installer...
Caching package Bit9 Installer...
Running script installPKGfromDMG.sh...
Script exit code: 0
Script result: Variable "dmgName" value is set to: Bit9Agent.dmg Mounting the DMG Bit9Agent.dmg... DMG mounted successfully as volume /Volumes/Bit9 on device /dev/disk2. Installing Package InstallBit9SecurityPlatform.pkg from mount path /Volumes/Bit9... Error: The package (InstallBit9SecurityPlatform.pkg) could not be found. There was an error installing the package. Exit Code: 1 Unmounting disk /dev/disk2... "disk2" unmounted. "disk2" ejected.

Any help is hugely appreciated.
Thanks,
Matt

Like
SOLVED Posted: by aamjohns

I'm not sure about your methodology. I use the technique and I do not alter the InstallPKGfromDMG.sh script, ever. I use diskutil to create the .dmg wrapper as described above. In the parameter 4 field for the script I put the exact name of the .dmg file I uploaded using Casper Admin. I cache the install, and then call the script with the .dmg file name parameter and it works.

Maybe you should try removing the explicit name you added to the script and employ the script as describe above. It should work.

Like
SOLVED Posted: by mjohnston

When I do it your way I receive the following which is what let me to edit the script and specify the PKG to be opened.
Banging my head on the wall right now trying to complete this Bit9 POC but cannot sign off until I can get Casper to deploy it correctly.

Executing Policy Bit9 Client Installer...
[STEP 1 of 3]
Mounting IDA045 to /Volumes/MAC...
[STEP 2 of 3]
Caching package Bit9 Installer...
[STEP 3 of 3]
Running script installPKGfromDMG.sh...
Script exit code: 0
Script result: Variable "dmgName" value is set to: Bit9Agent.dmg Mounting the DMG Bit9Agent.dmg... DMG mounted successfully as volume /Volumes/Bit9 on device /dev/disk2. ls: /Volumes/Bit9: No such file or directory Installing Package from mount path /Volumes/Bit9... There is a problem with your syntax. Error: No package was specified Type "jamf help" for more information. There was an error installing the package. Exit Code: 1 Unmounting disk /dev/disk2... "disk2" unmounted. "disk2" ejected.

Like
SOLVED Posted: by etippett

@mjohnston Does the mounted volume name contain a space? In other words once the DMG has mounted is its mount point "/Volumes/Bit9 somethingsomethingsomething"? Having spaces in that name will cause issues just like having spaces in the DMG name itself. I think I worked up a fix for this but will have to dig around for it.

Also, you should really post this in the Discussions area. Your question has nothing to do with what this article is about, Deploying PKGs Created with AAMEE or Creative Cloud Packager.

Like
SOLVED Posted: by merps

@etippett][/url I was looking into this earlier this week, as we were trying to install Java for OS X 2014-001 after upgrading users from Mountain Lion to Yosemite. Also, you mentioned posting this in the discussions area \- did you have a specific location in mind?

After playing around with the script, I found that you can change the field separator to Tab instead of Space and it solves the issue with a "spaced mount volume." I also had to wrap $mountVolume in quotes going forward, and I added a bit more logging just to verify what was happening when the script ran.

Here's the version of the awk line that I came up with \- also very minimally tested:

mountVolume=`echo "$mountResult" | grep Volumes | awk -F '\t' '{print $3}'`

Since I don't want to overlook any of the necessary changes, I'll just post the "Script contents \- Do nnot modify below this line" contents here:

# Verify Variables
verifyVariable dmgName

# Mount the DMG
log "Mounting the DMG $dmgName..."
mountResult=`/usr/bin/hdiutil mount -private -noautoopen -noverify /Library/Application\ Support/JAMF/Waiting\ Room/$dmgName -shadow`
log "Mount Result is $mountResult..."
mountVolume=`echo "$mountResult" | grep Volumes | awk -F '\t' '{print $3}'`
log "Mount Volume is $mountVolume..."
mountDevice=`echo "$mountResult" | grep disk | head -1 | awk '{print $1}'`
log "Mount Device is $mountDevice..."


if [ $? == 0 ]; then
    log " DMG mounted successfully as volume $mountVolume on device $mountDevice."
else
    log "There was an error mounting the DMG. Exit Code: $?"
fi

# Find the PKG in the DMG
packageName=`ls "$mountVolume" | grep "pkg"`

# Install the PKG wrapped inside the DMG
log "Installing Package $packageName from mount path $mountVolume..."
/usr/sbin/jamf install -path "$mountVolume" -package $packageName

if [ $? == 0 ]; then
    log " Package successfully installed."
else
    log "There was an error installing the package. Exit Code: $?"
fi

# Unmount the DMG
echo "Unmounting disk $mountDevice..."
hdiutil detach "$mountDevice" -force

# Delete the DMG
/bin/rm /Library/Application\ Support/JAMF/Waiting\ Room/$dmgName

if [ $? == 0 ]; then
    log "Script completed successflly using volume $mountVolume on device $mountDevice."
else
    log "There was an error installing the stuff in the DMG. Exit Code: $?"
fi
Like
SOLVED Posted: by itupshot

Ho hum, I'm getting this error:

Executing Policy Adobe CC Print Design with Lightroom (Test DMG)...
Mounting XServe01 to /Volumes/CasperShare...
Caching package 2015-04_CC_Print_Design-Lightroom-2015_Install.dmg...
Running script installPKGfromDMG.sh...
Script exit code: 0
Script result: Variable "dmgName" value is set to: 2015-04_CC_Print_Design-Lightroom-2015_Install.dmg
Mounting the DMG 2015-04_CC_Print_Design-Lightroom-2015_Install.dmg...
DMG mounted successfully as volume /Volumes/2015-04_CC_Print_Design-Lightroom-2015_Install on device /dev/disk3.
Installing Package 2015-04_CC_Print_Design-Lightroom-2015_Install.pkg from mount path /Volumes/2015-04_CC_Print_Design-Lightroom-2015_Install...
Copying 2015-04_CC_Print_Design-Lightroom-2015_Install.pkg...
Installing 2015-04_CC_Print_Design-Lightroom-2015_Install.pkg...
Installation failed. The installer reported: installer: Error the package path specified was invalid: '/Library/Application Support/JAMF/Downloads/'.
Package successfully installed.
Unmounting disk /dev/disk3...
"disk3" unmounted.
"disk3" ejected.
Like
SOLVED Posted: by Chris

Is this still a thing?
Just tried installing a couple of CCP PKGs (CC2014) from a new SMB DP
and it seems to work fine.

Like
SOLVED Posted: by mcdermk

I have followed the above documentation, no spaces in pkg name or dmg name. I am not sure why I keep getting no package specified. Any insight would be appreciated.

Executing Policy Adobe Creative Cloud 2015v2...
Mounting Casper Share to /Volumes/CasperRepository...
Caching package Adobe_Install.dmg...
Running script installPKGfromDMG.sh...
Script exit code: 0
Script result: Variable "dmgName" value is set to: Adobe_Install.dmg
Mounting the DMG Adobe_Install.dmg...
Usage: hdiutil attach [options] hdiutil attach -help
DMG mounted successfully as volume on device .
Installing Package from mount path ...

There is a problem with your syntax.

Error: No package was specified

Type "jamf help" for more information.

There was an error installing the package. Exit Code: 1
Unmounting disk ...
hdiutil: detach failed - No such file or directory

Like
SOLVED Posted: by acjuelich

How would I do this during an Imaging Configuration? Can I change the trigger to something other than 'Login?'

Like
SOLVED Posted: by Josh.Smith

@acjuelich Yes. I use a payload free package in my Imaging Configuration to call a policy by a custom trigger. The advantage of a payload free package over using a script to call the policy is that you can adjust the priority to run when you want it to.

Like
SOLVED Posted: by csheridan

Has anyone seen the "Script contains invalid reference to /usr/sbin" notification after updating to JSS 9.8?

Like
SOLVED Posted: by aamjohns

Yes, that is to let you know the jamf binary got moved and your scripts need updated. With jamf preparing for SIP in OS 10.11 the jamf binary is moved to /usr/local/bin/jamf. You will get those warnings when scripts with the invalid path are found.

Like
SOLVED Posted: by hurtado

@mcdermk I was just getting something similar today, having modified the script to work with the new /usr/local/bin/jamf path in 9.8 that @aamjohns mentions.

Since the line "DMG mounted successfully as volume on device ." indicated that it wasn't properly mounting/reading the image, I cached the dmg separately, and then walked through the line int he script that mounts the file. I seemed to get it to work when I removed the "-shadow" option from the end of the line. I've not read more about what that does, but that seemed to let my image mount cleanly and install.

It's a shame that it's still necessary to do the dmg wrapping, as everything seems to work fine except for Adobe InDesign CC 2015.

Like
SOLVED Posted: by chlaird

@hurtado , this is probably a stupid question, but do you know how I can reproduce these errors? My distribution point is an Ubuntu 14.04 samba share with HTTP enabled. I have all the CC 2015 pkg.zip files in Casper Admin, and in Self Service, but I just can't get them to break.

When HTTP enabled, they work through Self Service, and through Casper Remote. So, I took my SS policy for InDesign CC 2015 and checked the box to "force smb/afp". On a fresh 10.10.3 machine with 9.8, it just installed without any errors and appears to launch fine.

If it's still necessary, I'd like to follow this guide to package them all in DMGs, but there's no way I'm gonna convince anyone to do all that extra work if I can't show that it's still broken

edit: I'm assuming it's related to how our CC packages are zipped by Casper Admin when we upload them, but I've assumed that's normal behavior for everyone, except for a few fringe cases, so I'm confused.

Like
SOLVED Posted: by hurtado

@chlaird , I think it is only broken if you are using SMB distribution, and the only app I've seen errors with is InDesign, and the errors aren't with deployment, but with permissions on a plugin folder on launch.

I decided to just do this wrapping on the InDesign package, and let my full Creative Cloud installation call the indesign policy via trigger to fix things after the initial install completed.

Not sure if that helps.

Like
SOLVED Posted: by RobertHammen

This KB article needs serious revision and I have emailed JAMF's documentation team about this. If you're running Casper 9.51 or later, and use Casper Admin to copy the CCP-created PKG files up to your SMB CasperShare, it will automagically ZIP the non-flat PKG files created by CCP.

Just use a standard policy to deploy these. The jamf binary is smart enough to unzip the PKG files once transferred to the client, so no further scripting is necessary to install them.

Like
SOLVED Posted: by Josh.Smith

@RobertHammen I was still having issues around 9.61 with the Casper Admin zipped CCP pkgs and my SMB share. I've been using the Disk Image from Folder + installPKGfromDMG script method described in the KB and it's working reliably.

I haven't tried just uploading the pkgs for a while because this has been working and its just 2 extra steps...I'll have to give it a shot again next time.

Like
SOLVED Posted: by Mika_Puurunen

We are running JSS 9.81, and use Casper Admin to copy the CCP-created PKG files up to your SMB CasperShare, standard policy at Enrollment to deploy.

Like
SOLVED Posted: by etippett

@RobertHammen : I just upgraded to 9.81 and was eager to test this with my SMB shares to see if I can save the extra step of creating a DMG of my CCP packages. I just uploaded a CCP package using Casper Admin 9.81 and it is not zipped. Did you have to configure something to make your JSS do this?

@Josh.Smith : Did you have a chance to test?

@MikaPuurunen : Do your CCP packages get zipped by Casper Admin? Just wondering what the behavior you're seeing is compared to my experiences and what others have reported in this thread.

Thanks, all.
Eric

Like
SOLVED Posted: by merps

@etippett Have you hit the "migrate" button in Casper Admin? We went through the process last week, and now our packages are being automatically zipped. We made sure to run this in DEV first, since the migration process can take up a significant amount of space.

Like
SOLVED Posted: by etippett

@merps : Nope, that explains it! Thanks!

Like
SOLVED Posted: by anniwayy

HI everyone, I am desperately try to get the new 2015 CC Adobe apps uploaded and working via Self-service. I still use the above DMG method. But running the Policy i always get the following error. even though i don't have any spaces in the package name. I use el capitan diskutil to wrap the PKG ( app.ccp build exception)as DMG. Casper 9.81. and Smb Windows Shares ( DP) . Any help or hint would be great!

Executing Policy Adobe Muse CC 2015...
[STEP 1 of 4]
Mounting DP to /Volumes/Casper 1...
[STEP 2 of 4]
Caching package AdobeMuseCC2015.dmg...
[STEP 3 of 4]
Running script installPKGfromDMGv2.sh...
Script exit code: 0
Script result: Variable "dmgName" value is set to: AdobeMuseCC2015.dmg
Mounting the DMG AdobeMuseCC2015.dmg...
hdiutil: mount failed - no mountable file systems
Mount Volume is ...
DMG mounted successfully as volume on device .
ls: fts_open: No such file or directory
Installing Package from mount path ...

There is a problem with your syntax.

Error: No package was specified

Type "jamf help" for more information.

There was an error installing the package. Exit Code: 1
Unmounting disk ...
hdiutil: detach failed - No such file or directory

Like
SOLVED Posted: by bentoms

@anniwayy If you manually copy the DMG from the SMB share to a Macs desktop, can you mount it via Finder?

Like
SOLVED Posted: by stevewood

@anniwayy are you using a JDS for your distribution points or are you using File Share DPs? If you open Casper Admin and then navigate to the DP via the Finder, do you see the DMG file on the DP's file system?

Like
SOLVED Posted: by anniwayy

@bentoms , yes i can copy the dmg from the filershare down to my mac and mount it and see the ccp file as well as the builds and exception folders.

@stevewood ,
we are using windows fileshare DPs( smb) and yes i see the dmg on the DPS file system.

Sorry for my late response!!!!

Thanks for all the help. anniwayy

Like
SOLVED Posted: by donparfet

I have had good success packaging Adobe Creative Suite 2015 with Adobe's tools, then right-click in the finder on my build machine and 'compress' the installer pkg file, then upload the zipped installer via Casper Admin to my JSS and distributing via policy. No dmgs, no scripts, except that I run a post-install script to launch RemoteUpdateManager and install any updates that may have been released since my build date

Like
SOLVED Posted: by Howard.Trevor
Like
SOLVED Posted: by donmontalvo

Adobe CCP has been 100% reliable. Since moving to HTTP downloads (yay resumable downloads), deployments have rarely ever posed any issues. Each package is licensed and suppressed, and the packages don't stomp on each others' license like they used to some years ago.

Like
SOLVED Posted: by discounteggroll

Is it standard practice to keep the names of the packages the same (i.e. "Adobe Photoshop CC" instead of "Adobe Photoshop CC 2015.5", "Adobe Photoshop CC 2017, etc) so that there's only one generation of each adobe application on a computer?

I have been naming the packages as they appear on CCP, and computers are losing a decent amount of storage if I don't end up doing some removal after updates.

Like
SOLVED Posted: by donmontalvo

@discounteggroll Not sure if you mean package names or application names.

If you mean package names...

We use CCP for all Adobe CS/CC packages, it is a very mature tool. Except that it can use some GUI enhancements, like the ability to resize the CCP window....who knows, maybe @kagibson is listening. :)

For Adobe CS/CC packages, we adhere to a very strict naming convention, to enable us to manage the list of packages we have, to quick/accurate policy scoping, etc.

Adobe doesn't follow industry version convention, we include the entire version string at the end of the package name. Adobe then appends CCP packages with _Install.pkg (geez I wish they'd stop adding _Install to the name.

And we never ever ever ever use spaces in our package names. #justsaying

Example of the package names we use, including the _Install.pkg that CCP appends when package is created:

  1. Adobe_PhotoshopCC2014.2.4_15.2.4_Install.pkg
  2. Adobe_PhotoshopCC2015.1.2_16.1.2_Install.pkg
  3. Adobe_PhotoshopCC2015.5_17.0.1_Install.pkg

Adobe also has very poor oversight in the area of software name and path management. Some updates to these apps change the application folder name (adding .1, .2, etc.). Some updates change the application name itself (adding .1, .2, etc.). Some updates to these apps change both.

¯\_(ツ)_/¯

Makes Extension Attributes (EAs) a nightmare, where you have to have separate EAs for any Adobe apps that end up with path or application name changes...but less of a nightmare than tryiing to use Spotlight mdfind for EAs, which is kind of ridiculous in terms of patch management. ;)

If you mean changing the name of the application itself, well, ignore all of the above. #badidea

Like
SOLVED Posted: by cbruce

Hello !
Quick question. I have a .dmg from the vendor. Utilized composer and there's a .pkg inside of the .dmg. To utilize this tool, do I need to utilize disk image utilizing the .pkg to create a .dmg? I tried to utilize just what I received from the vendor ensuring the .pkg has no spaces and I am receiving the dreaded - /usr/local/bin/jamf install -path "-package
There is a problem with your syntax.
Error: No Package was specified
Type "jamf help" for more information

FWIW - I go into /Library/Application Support/JAMF/Waiting Room
and see my .dmg and .dmg.cach.xml

Thanks in advance !

Like
SOLVED Posted: by jeremysmythe

Have a package from CCP that works fine. Installs with no issue. When I follow these steps, only exception is I make it a Self Service, I get an error. Not sure what the cause is. Any help is appreciated.

Script result: Variable "dmgName" value is set to: Adobe_Install.dmg<br/>Mounting the DMG Adobe_Install.dmg...<br/>DMG mounted successfully as volume /Volumes/Adobe_Install on device /dev/disk2.<br/>Installing Package Adobe_Install.pkg from mount path /Volumes/Adobe_Install...<br/>/Library/Application Support/JAMF/tmp/installPKGfromDMG.sh: line 169: /usr/sbin/jamf: No such file or directory<br/>There was an error installing the package. Exit Code: 1<br/>Unmounting disk /dev/disk2...<br/>"disk2" unmounted.<br/>"disk2" ejected.<br/>

Like
SOLVED Posted: by aamjohns

Jeremy,
Go into your installPKGfromDMG script, line 169 and change the path from /usr/sbin/jamf to /usr/local/bin/jamf.

You may want to see if any other references to the old jamf binary path exist in the script and update them too. Apple changed their security and the jamf binary is now kept at /usr/local/bin/jamf. Your script just has the old path.

AJ.

Like
SOLVED Posted: by emily

It's been how long since the binary moved? It'd be nice for this script to get updated with the correct binary location. Or throw in a line that detects the binary location on the machine prior to installing. Seems like an easy update, and clearly people still depend on this.

Like
SOLVED Posted: by amulrooney

@emily, I second your request! This article is long overdue for a revision.

Like
SOLVED Posted: by Chris.abi-najm

I was receiving the same error:

Script result: Variable "dmgName" value is set to: Adobe_CC_Image.dmg Mounting the DMG Adobe_CC_Image.dmg... hdiutil: mount failed - File exists DMG mounted successfully as volume on device . Installing Package from mount path ... There is a problem with your syntax. Error: No package was specified Type "jamf help" for more information. There was an error installing the package. Exit Code: 1 Unmounting disk ... hdiutil: detach failed - No such file or directory

I removed the "- shadow" from the script and the package installed.

Like
SOLVED Posted: by bozemans

I talked to Adobe this afternoon and found out that I am not able to use the creative cloud library or have my student sign in. We only have "device licenses" so this is the end of my troubles....for now....

BTW...the Adobe support doesn't suck anymore....LOL!

Thank you for your help and I hope I am able to help others with this issue....pass on the knowledge...most educational sites only have device licenses and not "user licenses"....

Like
SOLVED Posted: by bozemans

I'm sorry for this previous post....meant for my support team at JAMF.....

This was in response to an issue with my inability to have our users gain access to the Creative Cloud Library....

I was able to successfully create pkgs w/Creative Cloud Pkgr, compress them, upload to JSS, create a policy, and deploy via Self Service

Thanks to all of you for your help once more....

Like