Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2013.10.27;
Скачать: [xml.tar.bz2];

Вниз

Ситуация... Citrix and TPrinter поддержка "отображаемых"   Найти похожие ветки 

 
sniknik ©   (2011-09-28 20:32) [0]

Программу выполняют в Citrix клиенте (что то типа RDP, удаленного рабочего стола), т.е. выполняется она в сессии на сервере, а печатать пытаются на принтере клиента...
Ну вот и проблема, вместо печати (пред просмотра) выдает ошибку - "не установлен принтер по умолчанию" что реально так (по присланному скриншоту) на сервере... но с клиента Citrix "отображает" (должен, клиент говорит другие печатают) в сессию локальные принтера, но TPrinter их похоже "в упор не видит"...

Кому нибудь знакомо? Вообще реально печатать на такие принтера?
Теоретически "проброс" ресурса на сервер должен сделать его аналогичным локальному (ну, виндовый то удаленный рабочий стол делает), и не нужно никаких WS... процедур с выцеплением из сессии. Т.е. принтеры программы под сессии затачивать не нужно. Или нужно?

В инете есть решения, к примеру настроить/подключить на сервере сетевой принтер, т.е. тот что локален для рабочей станции "расшарить", и подключить на сервере как удаленный...
Или обновить версию (типа это проблема какого то релиза, не слишком правильно "отображал", и уже исправили (версию где проблема не знаю и врядли могу узнать ;())
Или поставить виртуальный типа - http://www.printer-for-remote-desktop.com/printer-for-remote-desktop.html
и т.д. но клиент говорит проблема нашей программы т.к. "другие" (не знаю кто) печатают...

В общем основная проблема... невозможность "пощупать" глюк, клиент чем дальше тем больше кажется "не адекватным", не хочет проверять (ну например хотя бы установить "фиктивный" принтер на сервере чтобы пройти ошибку "не установлен" и посмотреть, что вообще в списке видится...). Нет "нам так не надо" типа их заставляют это навсегда оставлять...
В общем если кто пусть не в теме, но имеет возможность (Citrix) и желание затестить (завтра)... был бы благодарен.


 
sniknik ©   (2011-09-28 20:44) [1]

Куча статей по проблемам печати в Citrix, правильных настроек ...
http://www.dabcc.com/channel.aspx?id=64
что наводит на мысли что "дело не в бобине", но кто же тогда такие эти "другие" которые печатают?


 
oxffff ©   (2011-09-28 20:54) [2]


> sniknik ©   (28.09.11 20:32) 


На предыдущей работе из Citrix проблем с  клиентским принтером были драйвера принтера  PCL 5 или PCL 6. Они частенько слетали и печать шла коряво. Но могу сказать, что
Вроде на Citrix клиенте настраивается отображение локальных дисков и принтеров.
Эти локальные принтеры должны удаленно цепляться, то есть в той сессии
если открыть "Панель управления->Принтеры" должны быть доступны принтеры. Видимо их там нет.


 
sniknik ©   (2011-09-28 20:58) [3]

> Вроде на Citrix клиенте настраивается отображение локальных дисков и принтеров.
Так и понял, аналогично с RDP клиентом.

> Видимо их там нет.
Так и есть нет. Сриншот с принтерами в сессии пуст.

Т.е. проблема не программы? Так?


 
oxffff ©   (2011-09-28 21:00) [4]


> Т.е. проблема не программы? Так?


Уверен, что программа здесь не причем, тем более если она Ваша.


 
sniknik ©   (2011-09-28 21:00) [5]

> Видимо их там нет.
Хотя... "другие" то печатают. Вопрос требует уточнения, а с того ли сервера/сессии и сервера ли скриншот прислали.


 
oxffff ©   (2011-09-28 21:02) [6]

Это либо драйвера принтера не поддерживаемые Citrix, либо настройки Citrix.


 
sniknik ©   (2011-09-28 21:03) [7]

> тем более если она Ваша.
:) Ну... ошибки у мня тоже бывают, не остаются потому как искореняю всеми силами, но бывают. И потом TPrinter/D7 то старый в нем тоже возможны.


 
sniknik ©   (2011-09-28 21:05) [8]

> драйвера принтера не поддерживаемые Citrix
А ошибка не была бы другой? Или он если не поддерживает то просто игнорирует? И получается что там пусто.


 
oxffff ©   (2011-09-28 21:07) [9]


> Хотя... "другие" то печатают.


Если это сказал пользователь, то лучше не верить ему на слово.
Поскольку принтер они могли подцепить минуя "citrix туннелирование" (насколько помню он так работает), а напрямую через шару
А печать на дефолтный принтер она и в Африке печать на дефолтный принтер.


 
oxffff ©   (2011-09-28 21:12) [10]


> sniknik ©   (28.09.11 21:05) [8]
> > драйвера принтера не поддерживаемые Citrix
> А ошибка не была бы другой? Или он если не поддерживает
> то просто игнорирует? И получается что там пусто.


Я к сожалению насчет ошибок не знаю. Могу сказать, что принтер с кривыми драйверами цеплялся, то печатал не корректно(PCL 5 или PCL 6)
Я печатал на дефолтный принтер.


 
sniknik ©   (2011-09-28 21:15) [11]

> Я печатал на дефолтный принтер.
У меня как раз говорит про его отсутствие... что в винде невозможно (она сама выдает "лычку" первому попавшемуся если удалить такой) если есть хотя бы один.


 
oxffff ©   (2011-09-28 21:18) [12]

Да и скорее всего должны быть настройки на пуле Citrix машин(у нас их было много). Поскольку бывали, что на одних печатает на других нет.
Так что может на одних печатать, а на других нет.
Это к Citrix админу.

P.S. здесь возможно в качестве рекомендации запомнить машину citrix на которой все хоккей как говорит пользователь, и тестить свое приложение именно в ней, в трее citrix клиента есть значок, щелкнуть по нему, он покажет имя удаленной машины.


 
sniknik ©   (2011-09-28 21:26) [13]

Спасибо. Попробую еще клиента "по терзать".
(хотя сами виноваты, у нас есть нормальный режим "клиент-сервер" причем клиента не обязательно на пользовательские компы ставить, можно по ссылке запускать, т.е. никаких настроек послал "нужным людям" в письме ссылку и все, но нет - "мы хотим так, у нас всё так работает...".)


 
OW ©   (2011-09-29 12:40) [14]

+ к
админов надо трясти

такая же ситуация - Citrix, приложения, настроен "проброс" принтеров - все нормально.
Также и дисков и буферов обмена - тоже все ок


 
sniknik ©   (2011-09-29 14:59) [15]

Вроде решилось... с утра версию отправил (полазил по модулю Printers посмотрел где могла бы быть ошибка...), молчат.

Что "надумал".
1 Скринот был неправильный, принтера там есть...
2 Настроен "проброс" только обычных принтеров (дефаултный не входит, а на сервере их вообще нет, как понял), т.е. ошибка примем верная. (не понимаю как винда может пропустить, она ж должна "назначить", но может это "заслуга" чисто Citrix-а)
3 TPrinter устанавливает дефаултный даже если его не просят... при коде например Printer.PrinterIndex:= 1; (в Get/SetPrinterIndex). Сначала дефаултный ставит после тот что просишь, если его нет то эксепт.
4 Решил правкой генофонда... ;(

Если решил конечно, т.к. все на интуиции/догадках, но пока молчат надежда есть. ;)
И кстати предлагал же установить хоть что то, лишь бы "пройти" на шаг дальше... судя по всему оно бы вообще все решило (первое обращение было бы к реальному, а дальше он не используется, беретс из настроек).
Блин, ну что за люди, им же делаешь (программа бесплатная), а они "да, да, мы все проверили, не работает..." а судя по всему даже не пытались.

Кстати, OW не проверишь? Если сможешь конечно у себя пункт 2 воспроизвести (убрать дефолтный)...


 
oxffff ©   (2011-09-29 15:13) [16]


> sniknik ©   (29.09.11 14:59) [15]


На бывшей работе было по 6 принтеров, все они туннелировались через citrix. И принтер по умолчанию нормально подтягивался.
Да были проблемы с принтерами в том числе и c дефолтным(по умолчанию был не тот), но ребята citrix Админы в итоге решили их.  
Значит есть Админы.


 
sniknik ©   (2011-09-29 15:15) [17]

> по умолчанию был не тот
Значит может и вообще не быть (т.е. мои "умопостроения" не лишены логики).

> Значит есть Админы.
У меня есть только клиент жалующийся начальству... ;(


 
OW ©   (2011-09-30 09:10) [18]


> Кстати, OW не проверишь? Если сможешь конечно у себя пункт
> 2 воспроизвести (убрать дефолтный)...

Николай, я не пользуюсь TPrinter. Все печатаю из excel.
А Citrix настроили так, что только принтер по умолчанию и пробрасывается.
т.е. после экспорта в excel виден только этот принтер, а если хотят сохранить файло - то только диск C: (NameComputer_C: так видится)


 
sniknik ©   (2011-09-30 09:34) [19]

> Николай, я не пользуюсь TPrinter. Все печатаю из excel.
Но я то пользуюсь... выслал бы тебе свою. Проверка любой другой не актуальна.

> А Citrix настроили так
Настроили, а не настроил? Т.е. сам не можешь поменять? Тогда конечно ...

А узнать у своих "настройщиков" возможна ли ситуация с настроенными/проброшенными принтерами (они есть, я во вчерашней версии явный эксепт на сравнение их количества с нулем поставил... "до того", и "обидной" надписью на которую точно бы прореагировали ;), а они гады молчат до сих пор...), и при этом отсутствующим по дефаулту? (т.е. мой 2-ой домысл из [15])
Т.к. в этой ситуации в "принтерс" возбуждается эксепт, и именно это я исправил (пункт 4), поставил при отсутствии выбор первого в списке.


 
sniknik ©   (2011-09-30 09:56) [20]

Все. Ответили, печать у них заработала. Либо мое исправление помогло, либо Citrix  нормально настроили.
Вопрос снимается.


 
OW ©   (2011-09-30 11:48) [21]

ну хорошо :)

да, я ничего не настраиваю, на то есть спец. люди :)
Но если хочешь, ради спорт.интереса, - дай свой пример, проверю
какой нить exe, который выводит да/нет(что-то в мемо), потом скажу что вывелось(copy|paste)


 
OW ©   (2011-09-30 11:49) [22]

у нас переход на другую отчетность, есть делов мало-мало, сорьки за тормознутость :)


 
sniknik ©   (2011-09-30 12:11) [23]

> какой нить exe, который выводит да/нет(что-то в мемо), потом скажу что вывелось(copy|paste)
А смысл? Если бы я знал, что нужно проверять (выводить в мемо), то проблем исправить не было бы.
Проблема всегда в том чтобы определить, что и где, по многозначительному "не работает".

Могу дать ссылку на реальную прогу. Но! Без условий - нет дефаултного, проверка лишена смысла. В нормальных ситуациях оно и так нормально работает, это подтверждать не нужно.


 
OW ©   (2011-09-30 12:30) [24]

Да понятно :)
просто очень хотел быть полезен, а чем - не знаю даже :))


 
oxffff ©   (2011-09-30 12:51) [25]


> Либо мое исправление помогло, либо Citrix  нормально настроили.


Ответ на этот вопрос было бы здорово узнать.
Есть ли возможность откатить правки и протестировать на изначальной версии вашего софта?

P.S. Понимаю, что заработало и не хочется трогать и подставляться, тем не менее, есть ли возможность отправить пользователю начальную версию?


 
sniknik ©   (2011-09-30 13:54) [26]

> Ответ на этот вопрос было бы здорово узнать.
> Есть ли возможность откатить правки и протестировать на изначальной версии вашего софта?
Откатить можно, протестировать нет ;(... но скорее всего (даю процентов 80-90) помогло исправление. Просто не верю, что клиент с настолько ламерскими описаниями ошибок, подходом ("логи? зачем вам я же вам говорю - не работает!"), мог и стал что-то там настраивать (при том что - "другие то работают!").
+
> выдает ошибку - "не установлен принтер по умолчанию" что реально так (по присланному скриншоту) на сервере...
Первоначальный скриншот, один из... (было несколько), с настроек принтеров (жаль без подписи, что это с сервера в проблемной сесии) не имеет дефаултного значка ни на одном из принтеров... и именно тут я сделал дополнение на использование первого в списке в этом случае перед эксептом...

Вот в "тегах" {My}
procedure TPrinter.SetToDefaultPrinter;
var
 I: Integer;
 ByteCnt, StructCnt: DWORD;
 DefaultPrinter: array[0..1023] of Char;
 Cur, Device: PChar;
 PrinterInfo: PPrinterInfo5;
begin
 ByteCnt := 0;
 StructCnt := 0;
 if not EnumPrinters(PRINTER_ENUM_DEFAULT, nil, 5, nil, 0, ByteCnt,
   StructCnt) and (GetLastError <> ERROR_INSUFFICIENT_BUFFER) then
 begin
   // With no printers installed, Win95/98 fails above with "Invalid filename".
   // NT succeeds and returns a StructCnt of zero.
   if GetLastError = ERROR_INVALID_NAME then
     RaiseError(SNoDefaultPrinter{My}+ " (Win95/98)"{My})
   else
     RaiseLastOSError;
 end;
 PrinterInfo := AllocMem(ByteCnt);
 try
   EnumPrinters(PRINTER_ENUM_DEFAULT, nil, 5, PrinterInfo, ByteCnt, ByteCnt,
     StructCnt);
   if StructCnt > 0 then
     Device := PrinterInfo.pPrinterName
   else begin
     GetProfileString("windows", "device", "", DefaultPrinter,
       SizeOf(DefaultPrinter) - 1);
     Cur := DefaultPrinter;
     Device := FetchStr(Cur);
   end;
   with Printers do {My}begin{My}
     for I := 0 to Count-1 do
     begin
       if AnsiSameText(TPrinterDevice(Objects[I]).Device, Device) then
       begin
         with TPrinterDevice(Objects[I]) do
           SetPrinter(PChar(Device), PChar(Driver), PChar(Port), 0);
         Exit;
       end;
     end;
     {My}
     if Count > 0 then begin
       with TPrinterDevice(Objects[0]) do
         SetPrinter(PChar(Device), PChar(Driver), PChar(Port), 0);
       Exit;
     end;

   end;{My}
 finally
   FreeMem(PrinterInfo);
 end;
 RaiseError(SNoDefaultPrinter {My}+" (Up 2000)"{My});
end;


 
sniknik ©   (2011-09-30 14:19) [27]

> даю процентов 80-90
100% ... Пообщался с ЦТО-шником, ничего они там не настраивали.


 
oxffff ©   (2011-10-01 14:37) [28]


> sniknik ©   (30.09.11 14:19) [27]
> > даю процентов 80-90
> 100% ... Пообщался с ЦТО-шником, ничего они там не настраивали.
>
>
>


Поздравляю, что с "трудным клиентом" удалось найти выход.

P.S. Главное, что в будущем такой клиент не вынудил подправить сам Citrix или драйвера принтера. :))



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2013.10.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.003 c
15-1368785148
Дмитрий С
2013-05-17 14:05
2013.10.27
Продление SSL сертификата веб-сервера.


15-1368261134
Jeer
2013-05-11 12:32
2013.10.27
ПО "Буран"


2-1359379919
Наталья
2013-01-28 17:31
2013.10.27
dec->bin


2-1359636319
Scott Storch
2013-01-31 16:45
2013.10.27
Где взять координаты домов всех улиц населенных пунктов


15-1368390603
Юрий
2013-05-13 00:30
2013.10.27
С днем рождения ! 13 мая 2013 понедельник





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский