Composer 101: Deploying Existing Software DMGs and PKGs via Self Service

ruschg
New Contributor II

Hello,

A Composer 101 question I'm sure: I've been tooling around in Composer today attempting to create packages for Java, Flash, Xerox Print Drivers, CCleaner, etc by "dropping" the original installers from the vendors websites into Composer...at least that's what it sounds like from the Casper Admin Guide. From there, upload to Casper Admin and use the .pkg with a policy in the JSS. That much I'm sure of.

However, instead of installing the desired software on a test group, I'm running into an issue whereby the software is not installing but is rather being dropped into the top level of the Hard Drive.

Is a Composer snapshot always necessary for these installers? Thoughts appreciated.

1 ACCEPTED SOLUTION

mm2270
Legendary Contributor III

OK, so, if the vendor package is an actual .pkg or .mpkg format, there's generally no need to use Composer for this at all. Drop that pkg or mpkg file into Casper Admin, not Composer, set a category for it, sync to shares if needed and do some test deployments. In most cases, they will work and install as is, no modifications needed. In other cases, you might need to recapture it or use some kind of scripts to install it.

If these are .app bundles instead, you would need to first "install" the app into the main Applications folder, or some other location you want it to go, launch the app at least once to remove any quarantine flag it may have and then drag the app into Composer, which will copy in the path its located in. You can then build a pkg or dmg from there.
Alternatively, there are several other methods of building install pkgs from app bundles. Things like AutoPkg and so on, or other pkg building tools (Packages.app) and (shameless plug) tools like my AppPackager.

View solution in original post

4 REPLIES 4

mm2270
Legendary Contributor III

OK, so, if the vendor package is an actual .pkg or .mpkg format, there's generally no need to use Composer for this at all. Drop that pkg or mpkg file into Casper Admin, not Composer, set a category for it, sync to shares if needed and do some test deployments. In most cases, they will work and install as is, no modifications needed. In other cases, you might need to recapture it or use some kind of scripts to install it.

If these are .app bundles instead, you would need to first "install" the app into the main Applications folder, or some other location you want it to go, launch the app at least once to remove any quarantine flag it may have and then drag the app into Composer, which will copy in the path its located in. You can then build a pkg or dmg from there.
Alternatively, there are several other methods of building install pkgs from app bundles. Things like AutoPkg and so on, or other pkg building tools (Packages.app) and (shameless plug) tools like my AppPackager.

ruschg
New Contributor II

@mm2270 what would be the case if the desired vendor software is a .dmg?

mm2270
Legendary Contributor III

It all depends on what's IN the DMG, so first thing to do is mount it and see what's in there. If its a pkg installer, then the first point I mentioned still applies. Copy the pkg to Casper Admin and test deploying it from a policy.
If its an .app bundle, then the 2nd item I mentioned applies.

What does not apply and does not work and many newbies get tripped up on is, Casper Suite cannot use vendor supplied DMGs as-is. At least not without using adjunct scripts to install them. If you drop them as is into CA and deploy, you will get exactly the same issue you mentioned, where it just gets copied to the root of the HD. Its because when the jamf binary sees a DMG come down in a policy it makes the assumption that there will be a full directory structure on where files get copied to. If it only sees a file at the top of the mounted DMG, it copies it to the root of the target hard drive. You really can only use DMGs that are built in Composer, not vendor supplied ones. Its kind of a proprietary format for Casper, even though DMG is a standard OS X format.

ruschg
New Contributor II

@mm2270 thank you - you've been beyond helpful