Установка обновления KB2360131 вызывает в браузере IE6 (том, что в сборке) и браузере Maxthon (до 3-ей версии) некий неприятный эффект: при выделении мышкой фрагмента текста для редактирования (копирования, вырезки, замены) происходит самостоятельный захват лишнего знака, а точнее, невидимого в тексте знака перевода каретки на следующую строку.
Выглядит это так (раскрыть):
Пример 1
Пример 2
Если выделяемый текст является последним на странице, или выделяемый фрагмент находится в тексте, то захвата лишнего знака не происходит.
Эту ошибку пронаблюдал после автоматической загрузки обновлений 14.10.2010.
Грешил на драйвера к клавиатуре Oklick (модель с расширенными функциями редактирования), т.к. загрузка обновлений и установка двайверов пришлись на одно время (в течение 1 часа).
Удаление драйверов проблему не решило.
Дождался октябрьского патча для сборки, пропатчил и установил ОС на другой компьютер.
Выше описанный эффект присутствует и там.
На ПК, который обновлялся автоматически экспериментальным путем (удаляя по 1 обновлению и устанавливая снова те, которые не убрали проблему) выявил, что проблема возникает при установке KB2360131.
Мелкософт зовет его так: Haкoпитeльнoe oбнoвлeниe для cиcтeмы бeзoпacнocти бpayзepa Internet Explorer 6 для OC Windows XP (KB2360131)
Теперь возникает вопрос: как пофиксить данную проблему или удалить KB2360131 в октябрьской сборке, ведь интегрированные обновления удалить невозможно через "Установку и удаление программ"?
Скрытый текст (раскрыть):
P.S. Описал проблему как смог, если где выразился непонятно, то спрашивайте. Отвечу.
P.P.S Здесь еще 3 скриншота на 1 листе.
Отредактировано Beardman (04.11.2010 02:12:43)
Beardman
Подтверждаю, баг от M$ присутствует. Можно подождать, конечно, когда они сами его исправят.
KB2360131 (аддон IE, заменяет KB2183461)
Состав (файлы находятся в каталогах \system32\ и \system32\dllcache\):
browseui.dll
html.iec
ieencode.dll
iepeers.dll
mshtml.dll
mshtmled.dll
shdocvw.dll
tdc.ocx
urlmon.dll
wininet.dll
Если заменять их поочерёдно, можно определить в каком файле M$ допустили баг, в этом случае придётся запустить SFC и сделать откат защиты на заменённые, а можно просто удалить их все и установить предыдущее обновление.
Ещё можно откатиться, если поместить в каталог *:\WINDOWS\ папку $NtUninstallKB2360131$, взятую с другого компьютера и запустить *:\WINDOWS\$NtUninstallKB2360131$\spuninst\spuninst.exe.
Waterclo
С каким параметром запускать SFC?
Подробнее процесс опишите, плз.
Папку $NtUninstallKB2360131$ на том ПК, откуда удалил KB2360131, найти не удалось. Видимо удалилась вместе с заплаткой.
Отредактировано Beardman (04.11.2010 03:47:54)
Beardman
Процесс:
1. Убрать указанные файлы из *:\WINDOWS\system32\dllcache\;
2. Заменить файл и посмотреть результат;
3. Запустить sfc /scannow;
4. Если попросит дистрибутив для замены (не для всех файлов это может потребоваться), ответить что требуется оставить существующий файл.
Устанавливаемое обновление или его деинсталляция корректируют параметры защиты самостоятельно. $NtUninstallKB2360131$
Waterclo
Удалить все "указанные" файлы не удается. Система не позволяет даже в Безопасном режиме.
Поэтому откатил через манипуляции с папкой $NtUninstallKB2360131$.
Из "Установки и удаления программ" инфа об установленной заплатке KB2360131 исчезла:
Окно (раскрыть):
Неприятный "Эффект захвата" в IE6 исчез.
Теперь надо определиться с заплаткой KB2183461. В списке ее не нашел. Нужно ли ее устанавливать? Или без нее система может спокойно существовать?
Отредактировано Beardman (04.11.2010 10:04:38)
Ошибка возникает из-за mshtmled.dll в составе KB2360131, для исправления достаточно заменить его оригинальным файлом.
Кстати, в IE7 проблема повторяется, но отсутствует в IE8 (с учётом этого обновления). Но копировать файл отдельно из IE8 не нужно, т. к. они сильно отличаются по функциям.
Beardman
Удалять файлы надо было не в Безопасном режиме, а из-под Win PE. Виноват, думал догадаешься.
После деинсталляции KB2360131 можно оставить всё как есть, $NtUninstallKB2360131$ восстанавливает предыдущие файлы (от KB2183461).
simplix
Может быть имеет смысл переделать октябрьский патч к сборке, заменив в нем mshtmled.dll на безглючную?
Думаю это будет полезно, и меньше будет недовольств пользователей, включая выражения по поводу глючности сборки.
Waterclo
В 4 часа ночи как-то я забыл про Win PE, а когда в 10 утра про него вспомнил, то уже было не актуально, т.к. воспользовался $NtUninstallKB2360131$.
Почему считаю полезным переделку октябрьского патча:
1. Мелкомягкие, возможно, не сразу поправят баг, т.к. он проявляется только в IE6 и IE7, плюс путем принудительного обновления у большинства пользователей XP уже установлен IE8, в котором это баг не наблюдается (со слов simplix-а от 04.11.2010 12:27:55).
2. Многие не часто обновляют (патчат) образ, а также выключают автоматическое обновление (у кого машина смотрит в Инет), поэтому этот баг прочно засядет в установленной ОС или на прожженых болванках.
Естественно, решать simplix-у, и в случае, если он не сочтет нужным изменить октябрьский патч, то большая просьба к нему в ноябрьских обновках проконтролировать исправление бага, и если он не будет исправлен, то создать ноябрьский патч с безглючной mshtmled.dll
Beardman
А смысл-то чё-то переделовать? Ну, разве что M$ не соблаговолят поправить свой баг. Они правят их достаточно оперативно - не первый случай.
Относительно недовольств пользователей, включая выражения по поводу глючности сборки - понятие растяжимое, здорово зависит от квалификации, хоть simplix и говорит, что:
simplix сообщает:
chovch
Система не только для админов, она для всех...
это не совсем так, как представляется. С одной сторны: "Не нравится - не ешь", а сдругой стороны: "Взялся - ходи...". Если изделие выложено в сеть, то надо давать о нём исчерпывающую информацию и обеспечивать максимальную гибкость настроек. Пример:
1.
simplix сообщает:
...tcpip.sys, который просто необходим для нормальной работы торрентов...
...публикация этого патча запрещена под давлением сотрудников Microsoft...
2.
simplix сообщает:
chovch
...Если вы не знаете для чего нужен терминальный режим - просто игнорируйте эту новость. Он не нужен на домашнем компьютере и отключен по умолчанию.
Патч termsrv.dll...
3.
simplix сообщает:
XPrights позволяет получить доступ к общим ресурсам компьютера сразу после установки системы...
Это полезная вещь, но далеко не всем нужна такая принудительно установленная модель доступа. Для домашнего компьютера, не входящего в состав сети где защита от вторжений оганизована на сервере, доступ к общим ресурсам образует дырку в безопасности. Откат и настройки займут достаточно труда и времени. Кто знает, тот поймёт.
Waterclo сообщает:
включать патчи в состав сборки можно, как отдельные компоненты с возможностью выбора при установке, но не вгонять их принудительно в состав дистрибутива. Оригинал должен быть голенкий...
Я всегда за это голосую всеми руками..
Но что мои руки? Я "нахлебник", к тому же очень ленивый, и не мне тут "голосовать", что-то советовать.
Beardman
Я не могу просто заменить библиотеку на старую. Решение этой проблемы целиком зависит от Microsoft, а пока можно считать данный баг фичей. Со своей стороны как вариант решения рекомендую сменить IE на Chrome.
simplix
Спасибо за ответ.
Но напрашивается вопрос: если можно заменить mshtmled.dll в установленной ОС, то почему нельзя в дистрибутиве или патче?
А что касается браузера Chrome, как и других на движке WebKit, так он годится только для домохозяек и блондинок, т.к. не располагает достаточным функционалом, что нельзя сказать про Maxthon 1-2.x.x.
Кроме того, WebKit жрёт много оперативной памяти на каждую открытую вкладку, ничем не быстрее движка Gecko от Mozilla, не дружит с движком этого форума и многими другими, пример:
Это WebKit (раскрыть):
Это IE (раскрыть):
Chrome 20 вкладок (раскрыть):
Maxthon 50 вкладок (раскрыть):
*******************
Добавлено 01.12.2010: И снова всем привет!
Вот уже с полмесяца доступен ноябрьский патч, но нигде не нашел инфы о том, исправлен ли баг в KB2360131.
Кто обладает информацией, поделитесь!
*******************
Добавлено 03.12.2010:
Ну если никто не отвечает, то отвечу сам. Установил сборку с ноябрьским патчем. Проблема не исчезла. Следовательно, мелкомягкие не отследили баг (о чем я подозревал и писАл выше) и не исправили.
P.S. Не в тему, но актуально: simplix, будьте добры, настройте форум так, чтобы хотя бы на следующие сутки была возможность добавить новое сообщение, а не дописывать методом изменения свое предыдущее. При нынешних настройках в "Темах" такие дописывания не выделяются как "Последнее сообщение" и, соответственно, складывается впечатление, что в эту тему никто не пишет.
Спасибо за внимание.
Отредактировано Beardman (03.12.2010 21:32:38)
Waterclo сообщает:
включать патчи в состав сборки можно, как отдельные компоненты с возможностью выбора при установке, но не вгонять их принудительно в состав дистрибутива. Оригинал должен быть голенкий...
Поддерживаю, но оно конечно начнёт пугать обывателей-пользователей! Все обычно хотят - взял и готово....
если можно заменить mshtmled.dll в установленной ОС, то почему нельзя в дистрибутиве или патче?
Тогда Windows Update будет предлагать установку KB2360131, а после его установки проблема вернётся.
Установил сборку с ноябрьским патчем. Проблема не исчезла.
В ноябре не было обновлений для IE. Но даже если они и будут в будущем, не факт что ошибку исправят.
Насчёт дописывания сообщений - вы можете скопировать текст своего старого сообщения в режиме редактирования, затем удалить старое сообщение и вставить текст в новое. Тогда дата последнего сообщения обновится. По-другому не получится, уж извините.
deniskapoops
Для неопытных "обывателей-пользователей" тихую установку без выбора компонентов можно оставить в "Автоматической установке системы" (к-рую они и используют, чтоб было "взял и готово"), но без профессиональных дополнений вроде терминального режима, XPrights и т.п.
Beardman
Замени mshtmled.dll на эту - http://rghost.ru/3593818 и посмотри, вернётся ли проблема и будет ли предлагаться установка KB2360131. Если всё в порядке - договаривайся о переделках.
...не факт что ошибку исправят...
В этом случае нужно обращаться в службу поддержки M$, но возможно они желают таким образом заставить пользователей перейти на IE8 и последуещие версии.
simplix
Спасибо за ответ.
Waterclo
Сомневаюсь, что эту ошибку слепили специально. Таким образом заставлять перезжать на новые версии - маразм. Уж лучше прекратить поддержку IE6. Скорее всего этот баг из разряда случайных. А не исправляют потому, что о нем не знают.
Скачал библиотеку, буду пробовать. Отпишусь обязательно.
P.S.
Если всё в порядке - договаривайся о переделках.
С кем договариваться? С мелкомягкими? Так они первым делом затребуют волшебный ключик, а такового у здесь присутствующих по определению быть не должно
Отредактировано Beardman (15.12.2010 06:33:07)
Beardman
Очень сомневаюсь, что этот баг из разряда случайных. Вместо KB2360131 пришло обновление KB2416400, проблема не устранена. Скачай это: http://rghost.ru/3626637 и пробуй.
simplix, Waterclo
Провел эксперименты. Ситуация следущая:
1. Установил сборку, пропатченую (20.10.10 -> 15.11.10). Заменил mshtmled.dll на предложенный Waterclo здесь. Итог: текст вообще не выделяется, как и ничего другое на страницах браузера.
2. Установил предлагаемые M$ обновления через вэб, включая KB2416400. Выделение заработало, но баг с лишним символом не устранен, как Waterclo и сообщал выше.
3. Заменил mshtmled.dll на предложенный Waterclo здесь. Итог: выделение работает, баг присутствует.
4. Заменил mshtmled.dll на предложенный simplix-ом здесь. Итог: выделение работает, баг присутствует.
Замену производил одновременно в каталогах \system32\ и \system32\dllcache\.
Далее запросил список обновлений на update.microsoft.com. Ни KB2360131, ни KB2416400 загрузить не предлагает.
5. Заменил mshtmled.dll на скопированный с другого ПК, на котором производил $NtUninstallKB2360131$ и после этого баг не наблюдается. Итог: выделение работает, баг присутствует.
Похоже не в файле mshtmled.dll дело, или в нем, вместе с каким-то другим файлом.
Здесь все опробаванные варианты mshtmled.dll (пароль: forum.simplix)
P.S. На замене mshtmled.dll не остановился, пошел дальше:
1. Вернул mshtmled.dll из KB2416400 на место. Сделал $NtUninstallKB2416400$. Итог: текст вообще не выделяется. Автоматическое обновление предлагает установить KB2416400. Отказался.
2. Сделал $NtUninstallKB2360131$. Итог: выделение работает, баг исчез. По-прежнему предлагает установить KB2416400, про KB2360131 молчит.
Отредактировано Beardman (18.12.2010 05:21:22)
Beardman
Дерьмо дело, тут надо смотреть на форумах поддержки M$, заметили пользователи IE6 этот баг, или всё буржуинство дружно переползло на IE8.
Думается мне, что всё буржуинство давно не использует IE6, а также давно не пользуется XP, пересев на Vista и 7, в которых IE6 заменен на более поздние версии.
Может быть имеет смысл в декабрьском патче не использовать KB2360131 и KB2416400, а оставить пользователям сборки выбор загрузки и установки этих двух заплаток, пока M$ не исправит баг?
Зачем тащить чужую ошибку из патча в патч?
Мне интересно, что по этому поводу думает уважаемый simplix?
Заменил mshtmled.dll на предложенный simplix-ом здесь. Итог: выделение работает, баг присутствует.
Неправда, при замене файла на эту версию баг отсутствует. Применять его легко - нужно закрыть IE и скопировать mshtmled.dll в system32 с заменой. Это и есть решение вашей проблемы, не считая возможных открывшихся дырок, которые могут появиться после замены библиотеки на старую версию.
Я не считаю эту ошибку критической. Да, она приводит к определённым неудобствам, но это не повод жертвовать безопасностью системы, поэтому никакой замены на старые версии в сборке не будет. Если категорически не хотите уходить от IE - попробуйте восьмую версию с этими твиками, после этого IE8 становится более похожим на IE6.
simplix
Лично у меня заменить mshtmled.dll в system32 работающая система не дает.
Поэтому менял, загрузив PE с диска с этой сборкой.
Описал действия именно в той последовательности, как их производил. При замене всякий раз спрашивалось, действительно ли я хочу заменить файл. Соглашался.
Неправда, при замене файла на эту версию баг отсутствует.
Вами замена производилась при каком установленном обновлении, KB2360131, или KB2416400 сверху KB2360131 ?
Я менял (п. 2) при установленном KB2416400.
Если категорически не хотите уходить от IE - попробуйте восьмую версию с этими твиками.
Я вообще не использую IE6. Использую Maxthon 2.х.х.
А Maxthon 2.х.х, как известно, построен на том же движке, что и IE6.
IE6, как и последующие версии, лишены комфорта в работе (IMHO). Я уже молчу про Оперы, Огненные лисы и прочие поделки...
Beardman
...Maxthon 2.х.х, как известно, построен на том же движке, что и IE6...
Нет, они построены на: Visual C++ (Maxthon 1) и Java (Maxthon 2). Они всего лишь надстройки для любой версии IE (расширения функциональности), использующие движок IE - Presto. А вот Maxthon 3.х. использует уже, к сожалению, движок WebKit.
IMHO (и не только моё) - IE6, на сей момент самая надёжная, разработанная и функциональная (с надстройками) версия тыр-нет обозревателя, хоть и не самая быстрая.
Waterclo
Прежде, чем написать:
Maxthon 2.х.х, как известно, построен на том же движке, что и IE6.
я проследовал на сайт производителя, а также на сайт русскоязычной сборки. Да, ранее там было написано, что Maxthon является надстройкой над IE6. Еще раньше продукт назывался MyIE2. Теперь же такая информация отсутствует. Поэтому взял на себя смелость предположить, что до сих пор Maxthon 2.х.х использует движок IE6.
Waterclo писал:
всего лишь надстройки для любой версии IE
Т.е. уважаемый Waterclo этими словами хочет сказать, что обновив IE до 8 версии, в которой по словам simplix данный баг отсутствует, пользователь получит Maxthon 2.х.х без описанной здесь проблемы?