I have a solution that is cross platform, with some Macs and Some PCs. Both computers print to both local and network printers depending on what they need. Some of my printers are label printers (e.g. Dymo), printing 2.5x3" labels while others are are plain laser printers printing to US letter paper.
When I call a print script, I have included a Print Setup script step and a Print script step both set to the correct settings for data to be printed on the appropriate printer. I have specified the no dialog option to simplify the process for the user. This works most of the time but I am having issues from time to time, mostly with the Print Setup becoming incorrect. For example, the Print Setup paper type defaults to "Any Printer" and the wrong paper size (e.g. Address Label or US Letter)
The only way I have been able to figure out how to fix this is to log in as an admin on the offending computer and either modify the Print Setup script step and re-set it to the correct settings, or open the layout and modify the Page Setup manually there. Short of removing the "no dialog" option and making my users manually inspect the dialog each time, I am stuck. It appears that some part of the page setup actually LOCAL to the computer.
What I am interested in understanding is this: is there a better way to handle this that will not fail from time to time?
All our printing scripts for multi platform environments start with a If Get(SystemPlatform) = -2 .... else .... and inside the if there are specific Print setups.