Может вы сталкивались с проблемой, когда пытаетесь поставить какой-нибудь экстеншин в FireFox, а в ответ получаете что-то типа:
Firefox could not install the file at
file:///C:/Users/positive/Desktop/fvd_toolbar.xpi
because: Unexpected installation error
Review the Error Console log for more details.
-203
?
Или такое окошко:
Не очень приятно, когда не знаешь что делать дальше. Можно заглянуть в console log, но там почему-то девственно пусто. Вот и я столкнулся с подобной ситуацией.
В интернете обычно советуют проверить целостность архива экстеншина, но мне этот способ не помог, т.к. архив был целый. Вообще ни один экстеншин не хотел ставиться. Заметил, что проблема появляется после установки ICQ toolbar-а и пропадает после его удаления. Т.ч. если эта проблема у вас появилась, то перед установкой другого экстеншина нужно просто отключить ICQ тулбар и перезагрузить браузер. После установки его можно обратно включить.
Но мне было интересно, неужели ICQ сделало эту подлянку нарочно и я полез в код. Скажу сразу — внутри тулбар ICQ — мегакривая вещь. В нем есть прикольные фишки которых я не знал, но не более того. Перерыв весь тулбар и не найдя намеренных подлянок, стал искать ненамеренные и довольно быстро нашел. Ошибка была в процедуре itbIsUninstalled в файле icqtoolbar.js. Проблема была в том что файл, открытый монопольно для чтения не был закрыт после использования. А файл был не простой — кеш списка установленных расширений FireFox. Таким образом, после установки расширения FireFox пытался обновить кеш и спотыкался на этом.
Тем, кому лень постоянно отключать ICQ тулбар и он почему-то нужен, могу посоветовать следующий рецепт лечения (на Windows XP, на других ОС просто другой путь к файлу, а суть не меняется):
- Открываете файл C:\Documents and Settings\ваш ник в системе\Application Data\Mozilla\Firefox\Profiles\рандом.default\extensions\{800b5000-a755-47e1-992b-48a1c1357f07}\chrome\content\icqtoolbar.js
Естественно «ваш ник в системе» надо заменить на ваш логин, а «рандом» подглядеть по мере открывания папок FireFox. - Ищете функцию itbIsUninstalled (Текст «function itbIsUninstalled()» без кавычек, где-то 851 строка)
- В ней ищете конец цикла чтения (Текст «} while (moreToRead);» без кавычек, где-то 885 строка)
- Добавляте следующей строкой текст «inStream.close();» (без кавычек етественно).
- Сохраняете файл и перезагружаете FireFox.
После такой несложной процедуры проблема исчезнет. Сказанное выше характерно для тулбара версии 2.0.0.7, которая у меня сейчас стоит. Возможно проблема есть в более ранних версиях или сохранится в более поздних. В любом случае заказчик обещал отписаться в ICQ и объяснить им проблему.