I've been bashing my head against this all morning; can anyone tell me WHY I am an idiot.
(Context - basically I have the task of putting together a Wine rpm tailored particularly to our application, for use by those who have been so spolied by M$ that they can't be bothered with the work involved in setting up wine from elsewhere. As part of that I am trying to figure out and improve the documentation on printing. As a result I am getting to understand that my copy is probably only working by chance).
For as long as I can remember I have been using the "Wine Postscript Driver" solution on my machine, and also had "lp" configured as the same thing. I did not have a [ppd] section in my config. /etc/printcap mentions three JetDirect printers (well, four now; see below)
I just added a [ppd] section into the config and added entries for each of the three (or 4) printers as follows: [ppd] "lp" = "/home/medbi01/bin/lopt612.ppd" "colour" = "/home/medbi01/bin/lopt612.ppd" "duplex" = "/home/medbi01/bin/lopt612.ppd" "mp" = "/home/medbi01/bin/lopt612.ppd"
(the colour and duplex are lies but forget that for now)
Now when I start notepad I get err:psdrv:PSDRV_FindPrinterInfo Error 2 getting PPD file name for printer 'colour' and similarly for duplex and mp, but not for lp.
I (eventually) went into the code (dlls/psdrv/init.c) and modified the code to see the error code coming back from when it asked the registry for the lp, mp, colour, duplex. It returns 2 for mp, colour, duplex but SUCCESS for lp.
OH!! I've just changed the default printer to "mp"and now it's the lp, colour and duplex it doesn't find. i.e. it finds the first one it asks about but not the next.
So it sounds like something to do with the registry code.
But now I've added the "generic" entry and removed my debug print code and it doesn't "complain".
But without the "generic" it does.
So maybe it's the fact that they all have the same value? No.
Does this make any sense to anyone?
Bill
p.s. I'm going to see if it is "the first access to a registry key tends to fail".