Причем первый раз после инсталляции.  т.е. если мой.xpi проинсталлят еще раз, то это тоже "первый"

попробовал создать файл pref.js и записать туда строчку. 
pref("extensions.xxxx.yyyy", "zzzz")
В расширении вычитал значение, и установил в "".  Но очередной инсталл его не уже обновляет. Так и остается ""...

Попробовал сносить этот бранч "extensions.xxxx" целиком - сносится, about:config его уже не показывает. НО значение там осталось! И я его получаю...

Не тем путем иду? Как надо?

Компоненту написать, у её модуля registerSelf вызывается единственный раз после установки расширения

Мне надо, чтоб после установки расширения, когда ФФ откроют в следующий раз (или по кнопке Перегразить ФФ)
расширение поняло, что это его первый запуск после инсталла.

Или, используя ваш вариант, через registerSelf записать в реестр, а потом проверять?

Вот такая компонента: http://pastebin.mozilla-russia.org/91475
Вот такой js для оверлея: http://pastebin.mozilla-russia.org/91476

Установив расширение и перезапустив браузер пользователь увидит: "myextOnload: true"
Закрыв браузер и открыв его снова, пользователь увидит "myextOnload: false"

Спасибо большое, счас воткну.  (Блин столько кода ради такой простой задачи...)

А при установке прописать в переменную номер версии, а при удалении его оттуда стереть - не получится?
Номер версии - чтобы при установке обновлений опять запускался как первый раз.

Подскажи, как стереть при удалении

По-моему стоит копнуть в сторону FUEL (если планирется использовать Fx3. Да и в Fx2 FUEL планируют портировать). Занятная получается вещица.

Да, приятная библиотечка...

SlavaV пишет

Причем первый раз после инсталляции.  т.е. если мой.xpi проинсталлят еще раз, то это тоже "первый"

попробовал создать файл pref.js и записать туда строчку. 
pref("extensions.xxxx.yyyy", "zzzz")
В расширении вычитал значение, и установил в "".  Но очередной инсталл его не уже обновляет. Так и остается ""...

Попробовал сносить этот бранч "extensions.xxxx" целиком - сносится, about:config его уже не показывает. НО значение там осталось! И я его получаю...

Не тем путем иду? Как надо?

Прописать в инсталяторе фаил-пустышку. (При установке он его положит на диск). Ну а в самом дополнении его удолять.

Shutnik в обсуждении темы про отлов события загрузки документов во всех табах кинул ссылку:
https://developer.mozilla.org/En/Code_s … _page_load
Там в самом низу есть пример кода, позволяющего определять, запущено ли расширение первый раз. Видимо, ключевым здесь является объект http://www.xulplanet.com/references/xpc … nces1.html, позволяющий с помощью интерфейса IPrefBranch настраивать окружение.

Прописать в инсталяторе фаил-пустышку. (При установке он его положит на диск). Ну а в самом дополнении его удолять.

А как файл удалять?

Snipe

А как файл удалять?

Например так.

Например так.

Ммм. Извиняюсь, а как тогда этот файл достать? Если он лежит прямо в папке с расширением (например snipe@snipe.ru)

Snipe

Ммм. Извиняюсь, а как тогда этот файл достать? Если он лежит прямо в папке с расширением (например snipe@snipe.ru)

Полезная штука - Code snippets ;)

Спасибо, то что надо.

Еще вопрос.
Если передавать пустой файл при установке шаблона, а потом его удалять при первом вызове шаблона - на хэше никак не скажется (который указываем в update.rdf)?