Разобрался. Проблема нетривиальная.
Portable Firefox должен запускаться не напрямую (firefox.exe), а через FirefoxPortable.exe, который является небольшой оболочкой, настраивающей среду для запуска.
После установки Portable Firefox, если его прописать default browser, он везде указывает firefox.exe
Решением было в реестре напрямую найти firefox.exe и поменять на firefoxportable.exe, после чего перегрузиться. Теперь Firefox открывает все ссылки по умолчанию (из других программ, включая запуск start
google.com из командной строки), даже если он не запущен.
В реестре это open/comman в
HCR/FirefoxHTML
HCR/FirefoxURL
В обычном Firefox жестко прошито обращение к profiles.ini
":\Documents and Settings\\Application Data\Mozilla\Firefox\profiles.ini"
чтобы этого избежать, portable firefox подменяет переменные перед запуском основного firefox.exe
но чтобы ускорить процесс, можно в ярлык и в реестр добавить параметр с указанием профайла напрямую, что уберет лишнее обращение к этому profiles.ini
Например у меня в command в реестре указано так:
"V:\FirefoxPortable\FirefoxPortable.exe" -profile "V:\FirefoxPortable\Data\profile" -url "%1"
Portable Firefox с кешем и профайлом отлично помещаются на небольшом 200-300 мбайт виртуальном диске, грузится за 1-2 секунды.