Use Composer to Build Standard Package

micah002
New Contributor

I'm wondering if I can use composer to build a standard package that will install on macOS without the need for self service?

Is this possible? So far, I've met with failure.

Thanks.

6 REPLIES 6

CapU
Contributor III

What are attempting to do? I don't need SS to install apps

scottb
Honored Contributor

It can, but what are you doing and what was the failure @micah002?

davidacland
Honored Contributor II
Honored Contributor II

Do you mean with no user interaction?

micah002
New Contributor

I want to build a printer distribution package that we can install off a thumb drive when new students arrive. That way they can get their laptop more or less setup before all the backend account creation has occurred. We can add them to the JSS manually after their accounts are created - but manually adding printers via a print server is the opposite of a good time.

stevewood
Honored Contributor II
Honored Contributor II

@micah002 You can do this with Composer or with Packages, or with the command line tool pkgbuild. If you are just installing the printers, a simple shell script as a postinstall script in a PKG file can do that. If you need to install the printer drivers, you can create a meta package that has all of the drivers you need, and then a postinstall script that installs the printer(s) via shell script.

The shell script can be as simple as:

#!/bin/bash
lpadmin -p <printername> -L <location> -E -o printer-is-shared=false -v lpd://<ipaddress> -P <printerdriver>

String as many lpadmin commands into the shell script as you have printers to install, and you're golden. You can also set any options for the printers using the lpadmin command as well, like duplex options, color options, etc.

lpadmin -p <printername> -o EFOutputBin=middle

As an example....

scottb
Honored Contributor

We make printers using scripts like the above by @stevewood and then use "Payload-Free Package Creator" to wrap them up and set into Casper. Works great.

PFPC github here: