@rollstuhlfahrer: Das versucht er ja ... Also, er versucht über printto das Standardprogramm für PDFs zu starten und dieses soll dann drucken.
Ich vermute einfach mal, daß eventuell sogar der Druckertreiber vorhanden ist, aber im Systemkonto sind andere Registry-Pfade verlinkt
und da werden wohl einfach keine Verlinkungen für *.PDF eingetragen sein.
Sowas läßt sich übrigens rausfinden, indem man mal die Rückgabewerte (Result) von
ShellExecute prüft.
Vor Kurzem (diese/letzte Woche) gab es hier in der
DP einen Thread, wo es darum ging, wie man von einem Service aus z.B. ein Programm im Benutzerkontext starten kann.
Das würde dann ganz bestimmt dein Problemchen lösen.
Ansonsten kannst du auch mal versuchen ob es was bringt, wenn du das PDF-Programm direkt startest.
ShellExecute(Application.Handle, 'open', PChar(PfadZumPDFProgramm), PChar('"' + Dokument + '" /weitere /Parameter'), NIL, SW_HIDE);
,
bzw. einfach erstmal in eine Logdatei reinschreiben, ob über die
Unit Printer sich doch ein Drucker im Systemkonto finden läßt.