10 лет назад 25 апреля 2009 в 3:21 46
Я установил себе на ПК браузер Internet Explorer 7 и сразу обнаружил кучку глюков с программами, которые, видимо, использовали какие-то компоненты IE 6, а IE 7 теперь не желают распознавать. Например, интерфейс программы Ashampoo Uninstaller 2.5 изменился: кнопки на главной странице отображаются лишь частично, текст виден, а обводка нет. Ну да ладно, это не важно. Главное, пакет Norton Internet Security 2005 стал практически нерабочим: при попытке добавить новое правило в файрволле выскакивает ошибка скрипта:
An error has occurred in the script on this page
Line: 476
Char: 8Error: ‘szModify’ is undefined
Code: 0
URL: res://fwui.dll/ruleSummary.htm
Что с этим можно сделать?

Как ни странно, про эту ошибку Symantec знает чуть ли не с начала года. Дело в том, что в одной из библиотек NIS, а именно в файле niscmnht.dll, расположенной в папке программы, есть скрипт, предназначенный для проверки версии браузера. Так вот, в этом скрипте до сих пор нет проверки на наличие седьмой версии IE! Почему Symantec игнорирует IE, непонятно, ведь даже спустя несколько дней после выхода финальной сборки IE 7 файрволл не научился создавать для него автоматическое правило!

Ну да ладно. К счастью, не перевелись еще народные умельцы! На страничке pjondevelopment.50webs.com/blog/2006/01/ie7-sw-2005-follow-up.html вы найдете как исходный (некорректный) скрипт из этой библиотеки, так и работающий правильно. Вам остается только пропатчить библиотеку таким образом, чтобы внести изменение в ресурс, содержащий этот скрипт. Возьмите, к примеру, программу Resource Hacker, откройте DLL-файл, найдите нужный скрипт, выделите его, вставьте вместо него новый, нажмите на кнопку Compile Script, сохраните изменения, замените библиотеку на пропатченную (можно даже не выгружать NIS) – и все заработает!

Никто не прокомментировал материал. Есть мысли?