При открытии диалога печати могут быть такие сообщения: err:winspool:WINSPOOL_GetDriverInfoFromReg Can't find driver L"hp" in registry err:winspool:WINSPOOL_GetDriverInfoFromReg Can't find driver L"hp" in registry err:commdlg:PrintDlgA GetPrinterDriverA failed, le 1797, fix your config for printer hp! fixme:commdlg:PRINTDLG_SetUpPrinterListComboA Can't find '(null)' in printer list so trying to find default err:winspool:WINSPOOL_GetDriverInfoFromReg Can't find driver L"hp" in registry err:winspool:WINSPOOL_GetDriverInfoFromReg Can't find driver L"hp" in registry err:commdlg:PRINTDLG_ChangePrinterA GetPrinterDriverA failed for hp, fix your config! И окно печати может быть даже один раз и появится. err:winspool:WINSPOOL_GetDriverInfoFromReg Can't find driver L"hp" in registry err:winspool:WINSPOOL_GetDriverInfoFromReg Can't find driver L"hp" in registry err:commdlg:PrintDlgA GetPrinterDriverA failed, le 1797, fix your config for printer hp! Что выяснено: И вот теперь ежели из ветки HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers\Version-3\ скопировать всё, что есть, в ветку HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print\Environments\Windows 4.0\Drivers\ то 1С опять будет печатать 1. в w@e <= 1.0.4 Всем принтерам драйвер - один - PS Driver. При этом: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print\Environments\Windows 4.0\Drivers\PS Driver] "Configuration File"="wineps16" "Data File"="<datafile?>" "Datatype"="RAW" "Dependent Files"=hex(7):00 "Driver"="wineps16" "Help File"="<helpfile?>" "Monitor"="<monitor name?>" "Version"=dword:00000000 [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers\Version-3\PS Driver] "Configuration File"="" "Data File"="" "Datatype"="" "Dependent Files"=hex(7):00 "Driver"="" "Help File"="" "Monitor"="" В 1.0.5 у каждого принтера - свой драйвер. При этом в ветке [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print\Environments\Windows 4.0\Drivers] нет ничего, а в ветке NT x86 выглядит так: [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers\Version-3\Cups-PDF] "Configuration File"="wineps16" "Data File"="<datafile?>" "Datatype"="RAW" "Dependent Files"=hex(7):3c,64,65,70,65,6e,64,65,6e,74,20,66,69,6c,65,73,3f,3e,00,\ 00 "Driver"="wineps16" "Help File"="<helpfile?>" "Monitor"="<monitor name?>" "Version"=dword:00000003
Проблема оказалась в том, что wine, запущенный с разными версиями, записывает драйвер в разные ветки. Обсуждение начал здесь: http://www.winehq.org/pipermail/wine-devel/2007-February/054068.html Скорее всего будет патч.
В W@E 1.0.6 приложен патч, ищущий драйвер на всех местах.
При обновлении версии до текущей проблема остаётся и в 1.0.8. Сменилось расположение драйверов.
Думаю... Есть два варианта - искать драйвера в куче мест, либо просто удалять записи о принтере (например, при --update), чтобы они заново ставились.
Всё, исправлено, принтер ищется в нормальном месте, проблема при обновлении до 1.0.8 устраняется автоматически в обычном случае, либо запуском wine --removeprinters