Packaging Printer with Installation Script

jared_f
Valued Contributor

I am trying to create a printer installation package using composer and a package app. I made a modified snapshot capturing the install of the printer via system preferences. I am inserting this payload into the packages app and trying to leverage a script to install it after the package is ran. The script asks for the path to the package (I am assuming this install I am creating) and the path of the drivers (I don't know where this is installed). Thanks for any help. The issue I am having is that I can't get the driver path.

3 REPLIES 3

Nix4Life
Valued Contributor

hey @JaredFlitt I see your still working on this from your other thread:https://jamfnation.jamfsoftware.com/featureRequest.html?id=5118. I forgot to mention one of the other ways I installed printers was via a script as @stevewood mentioned and a payload free package. this creates a package you install that does all the work for you. The path to most drivers is /Library/Printers/PPDs/Contents/Resources/ or /Library/Printers/PPDs/Contents/Resources/en.lproj/
download @rtrouton 's Payload-Free Package Creator.app here.

#!/bin/sh
/usr/sbin/lpadmin -p <printername> -E -o printer-is-shared=false -v lpd://<ipaddress>  -P  /Library/Printers/PPDs/Contents/Resources/printername.gz

hth
L

jared_f
Valued Contributor

Thanks @LSinNY. I actually got something going but, I cannot get it working completely. I created a package to create a ppd file and leverage a script to add the printer. After I edited the script I found, I added it to run after the ppd from the package is installed. I created the package just because I don't want to have errors because all machines don't have the ppd file. It seems to add the printer into the preferences and all but, when I attempt to send a job it will not print. Have you seen anything like this before?

jared_f
Valued Contributor

@LSinNY It seems I cannot use scripts that have drivers already installed on the computers from Apple. My printer seems like the only HP printer not listed. Here is the script:

lpadmin -E -p "NAME" -v "URL" -P "PDD" -o printer-is-shared=false
cupsenable "NAME"
cupsaccept "NAME"