Bug 452

Summary: Не печатает принтер из 1С
Product: WINE@Etersoft Reporter: Vitaly Lipatov <lav>
Component: Окна / фокус / перерисовкаAssignee: Vitaly Lipatov <lav>
Status: CLOSED FIXED QA Contact:
Severity: blocker    
Priority: P5 CC: baraka, kondratyuk
Version: 1.0.5   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 287, 443, 584, 760, 5140    
Deadline: 2007-01-29   

Description Vitaly Lipatov 2007-01-25 20:13:29 MSK
При открытии диалога печати могут быть такие сообщения: 
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
Comment 1 Vitaly Lipatov 2007-02-14 18:01:06 MSK
Проблема оказалась в том, что wine, запущенный с разными версиями, записывает драйвер в разные ветки.
Обсуждение начал здесь:
http://www.winehq.org/pipermail/wine-devel/2007-February/054068.html
Скорее всего будет патч.
Comment 2 Vitaly Lipatov 2007-02-19 15:49:08 MSK
В W@E 1.0.6 приложен патч, ищущий драйвер на всех местах.
Comment 3 Константин Кондратюк 2007-09-28 12:13:53 MSD
При обновлении версии до текущей проблема остаётся и в 1.0.8.
Сменилось расположение драйверов.
Comment 4 Vitaly Lipatov 2007-10-14 21:28:07 MSD
Думаю... Есть два варианта - искать драйвера в куче мест, либо просто удалять записи о принтере (например, при --update), чтобы они заново ставились.
Comment 5 Vitaly Lipatov 2007-12-12 22:55:22 MSK
Всё, исправлено, принтер ищется в нормальном месте,
проблема при обновлении до 1.0.8 устраняется автоматически
в обычном случае,
либо запуском wine --removeprinters