The software for the printer was installed incorrectly. Would you like it to be repaired?

tcandela
Valued Contributor II

in order to get a xerox stapling feature to work so users can print and have the xerox staple pages together (via xerox features), I have to install a 10.6 xerox driver. (i am running no computer lower than 10.10)

When I manually ran the driver (to setup the printer for casper admin upload), i get an initial prompt from 'gatekeeper' for unidentified developer, so I just right click open and accept it to install. It went through its installation process and finishes.

When i print for the first time i receive; The software for the printer was installed incorrectly. Would you like it to be repaired?

I accept it to be 'repaired', enter admin privileges, repair takes place, and now i can print.

now the printer has been uploaded, driver uploaded also. I created a self service policy and run it, the printer gets added. The policy log shows that the driver installed successfully on the client computer. I then print a document and get the same; "The software for the printer was installed incorrectly. Would you like it to be repaired?"

anybody else see this or know what is happening?
other xerox drivers i install do not inform me of 'unidentified developer'??

do you think its happening because its a 10.6 driver and I'm running 10.10 ?

1 ACCEPTED SOLUTION

stevewood
Honored Contributor II
Honored Contributor II

@tcandela so the next step I would take is to try fixing those permissions on a machine that has the "Repair" problem and see if that fixes it. If it does, then you can add that step as a postflight script to your driver package, or as an After script in Casper.

View solution in original post

14 REPLIES 14

mm2270
Legendary Contributor III

@tcandela, the "unidentified developer" error is simply coming up because of the age of the installer pkg. Back in the 10.6 days, Apple didn't require package signing, but started doing that sometime after Gatekeeper came out, or maybe a little before - I can't specifically recall now. Xerox just hasn't gone back to that older driver pkg and repackaged it with a proper signed dev certificate. If your Gatekeeper settings are set to "Mac App Store and identified developers", then you will get that warning each time you try to install a package that isn't signed.

As for the repair message, my guess here would be that is also happening because its an old installer. I'm not surprised that something created for 10.6 wouldn't install properly on 10.10 at this point. I'm not sure what its actually doing when it does the repair, but you may want to do either a before and after full snapshot in Composer, or use the Monitor System Changes option, and run through that process to see if it can capture what files are being created and/or modified. It might help you track down how to do the same changes in an automated way from a policy.

stevewood
Honored Contributor II
Honored Contributor II

@tcandela I would venture to guess your repair message is because permissions are wrong somewhere in the driver's folder/file. I would do as @mm2270 suggests and snapshot with Composer to figure out what folders are being manipulated and make sure the permissions are correct. Perhaps use a postinstall script or just on the Files And Process tab put the permissions fix in the "Execute Command" field.

tcandela
Valued Contributor II

not sure exactly how to do this to check for what files/folders changed.

I created a normal snapshot, installed the driver, created the after snapshot

I then started to add the printer, when i specified the 'driver' to use - that is when the pop-up that 'The software for the printer was installed incorrectly. Would you like it to be repaired?' - before i clicked 'repair' i did 'Monitor File System Changes' and then clicked 'repair'
- after the repair completed i 'clicked' create package source

Modified files section has a lot of /Library/Printers most of them HP when I installed a Xerox

not sure if i did this correctly

I can't even do a search on the modified files for 'xerox', seems like searching is not allowed.

stevewood
Honored Contributor II
Honored Contributor II

@tcandela If you run Composer, tell it to watch for New and Modified Files, install the Xerox driver, and then let Composer scan (click "Install Complete" I think). Once Composer is done scanning and presents you with the list of files/folders, you can then see what needs to be checked for permissions. Does that make sense?

From there you can check a machine that has the software installed that is asking to repair, and verify the permissions on the two look right. Sorry if that is too confusing.

mm2270
Legendary Contributor III

Yeah, the trick here would be to FIRST do a regular installation of the printer driver on a box that has not had it before or at least not had the "repair" done. THEN run Composer and do a Before snapshot, open the printer driver to have it come up with the message to repair the software and allow it to go through that, and FINALLY go back to Composer immediately and do your After snapshot. You only want Composer looking for any changes that occurred as a consequence of doing the repair function. You will undoubtedly get other stuff showing up in the snapshot because the OS is constantly touching and modifying things, even when its just sitting idle. But the files that the driver is touching should hopefully be obvious or in obvious locations, like /Library/Printers/ or whatever.

EDIT: Or, you could also do it the way @stevewood has outlined as well. Either one should work, but the results will be different.

tcandela
Valued Contributor II

@stevewood @mm2270 - I'm not actually, in the end, making a .pkg ?

I'm just checking file/folder changes, but stopping at the point when an actual .pkg/.dmg is actually made ?

so basically i'm not click "build new" .pkg/.dmg is what i'm saying

thanks

mm2270
Legendary Contributor III

@tcandela Correct, you're not trying to build an actual package, at least I wouldn't. You're just using Composer as a way to detect what the repair process from the driver is modifying and comparing it to a system that has not had the repairs done on it. It must be touching something, so hopefully it will get picked up during this process.
As I mentioned earlier, you could also use Composer's Monitor File System Changes function for this. It doesn't always work for this type of stuff, but worth a try initially if only because its lightyears faster than a before/after snapshot, especially since in this case you'd need to do a New and Modified snapshot which can take a while to create.

tcandela
Valued Contributor II

not able to get any info on what is being repaired.

All i see is many references to /Library/Printers/Xerox/PDEs director

mm2270
Legendary Contributor III

@tcandela Huh? So, then the items in the PDE directory are likely what's being repaired. That folder usually contains .plugin files that the printers use. Most likely the permissions on them are out of whack after the out of date package is installed and needs to be fixed. You can use @stevewood's suggestion of comparing those files before and after repairs are done to see what the difference is. I'm willing to bet something is being changed. Otherwise, what is the "repair" doing?

stevewood
Honored Contributor II
Honored Contributor II

@tcandela I would check that folder on a machine that has not been repaired against a machine that has been repaired to see if the permissions are the same.

tcandela
Valued Contributor II

@stevewood @mm2270 I copied the Xerox folder (XeroxOriginal) prior to running the 'Repair'. After the 'repair' I checked the permissions on the 'XeroxOriginal' vs the repaired 'Xerox'

it looks like the directories structure for XeroxOriginal are drwxrwxr_x while for the repaired Xerox it is drwxr_xr_x

while files in XeroxOrigianl are _rwxrwx_r_x files in XeroxOrigianl are _rwxr_x_r_x

so basically looks like the W access for Group has been removed.

stevewood
Honored Contributor II
Honored Contributor II

@tcandela so the next step I would take is to try fixing those permissions on a machine that has the "Repair" problem and see if that fixes it. If it does, then you can add that step as a postflight script to your driver package, or as an After script in Casper.

tcandela
Valued Contributor II

yeah, i am thinking about doing a chmod 755 on all directories,subdirectories and files via script

would having W access really make a difference ??

currently its chmod 775 looks like it should be 755

tcandela
Valued Contributor II

In the printer self service policy, I use a custom event to install the driver via script.

It's working, no driver 'Repair' pop-up appears !!!. here is what script it looks like
(i got the chmod lines in a google search)

! /bin/sh

jamf policy -event XeroxDriver3017104CustomEvent
cd /Library/Printers/Xerox
find . -type d -exec chmod 755 {} ; find . -type f -exec chmod 755 {} ;

Will exit with the status of last command

exit $?