Now, can anynoe tell me how to extract the contents of this "magic" file automatically without having to launch mozilla-*?
Why isn't the file simply part of the package? Why gets it created at first launch? Can this beahvior be changed?
Up to now, cmg creation for Mozilla-* applications such as Netscape, Firefox, Firebird, Sunbird and nvu failed because these applications need a writeable directory at first start (I continue to consider this bad design).
After some investigation, I have now found the root cause:
The file firefox/chrome/app-chrome.manifest gets written at first start. If (as in the case of a cmg) this is not writeable, then the launch fails. The workaround for klik is that it needs to create that file (with proper content) before the cmg gets created.
As a proof of concept, I have set up
klik://firefox-nightly - this installs the latest developer build of firefox, which is updated almost every day. The cmg is built "on the fly", using the following as firefox/chrome/app-chrome.manifest
Greetings,Code:content necko jar:comm.jar!/content/necko/ content xbl-marquee jar:comm.jar!/content/xbl-marquee/ content cookie jar:comm.jar!/content/cookie/ content passwordmgr jar:toolkit.jar!/content/passwordmgr/ content global jar:toolkit.jar!/content/global/ content global-platform jar:toolkit.jar!/content/global-platform/ platform content global-region jar:toolkit.jar!/content/global-region/ content mozapps jar:toolkit.jar!/content/mozapps/ skin communicator classic/1.0 jar:classic.jar!/skin/classic/communicator/ skin global classic/1.0 jar:classic.jar!/skin/classic/global/ skin mozapps classic/1.0 jar:classic.jar!/skin/classic/mozapps/ skin help classic/1.0 jar:classic.jar!/skin/classic/help/ content pipnss jar:pipnss.jar!/content/pipnss/ overlay chrome://browser/content/pageInfo.xul chrome://pippki/content/PageInfoOverlay.xul overlay chrome://communicator/content/pref/preftree.xul chrome://pippki/content/PrefOverlay.xul overlay chrome://navigator/content/pageInfo.xul chrome://pippki/content/PageInfoOverlay.xul content pippki jar:pippki.jar!/content/pippki/ overlay chrome://browser/content/browser.xul chrome://inspector/content/tasksOverlay.xul overlay chrome://browser/content/macBrowserOverlay.xul chrome://inspector/content/tasksOverlay.xul overlay chrome://inspector/content/commandOverlay.xul chrome://inspector/content/viewers/dom/commandOverlay.xul overlay chrome://inspector/content/commandOverlay.xul chrome://inspector/content/viewers/styleRules/commandOverlay.xul overlay chrome://inspector/content/commandOverlay.xul chrome://inspector/content/search/modules/commandOverlay.xul overlay chrome://inspector/content/keysetOverlay.xul chrome://inspector/content/viewers/dom/keysetOverlay.xul overlay chrome://inspector/content/popupOverlay.xul chrome://inspector/content/viewers/dom/popupOverlay.xul overlay chrome://inspector/content/popupOverlay.xul chrome://inspector/content/viewers/styleRules/popupOverlay.xul overlay chrome://inspector/content/popupOverlay.xul chrome://inspector/content/search/modules/popupOverlay.xul content inspector jar:inspector.jar!/content/inspector/ locale inspector en-US jar:inspector.jar!/locale/en-US/inspector/ skin inspector classic/1.0 jar:inspector.jar!/skin/classic/inspector/ skin inspector modern/1.0 jar:inspector.jar!/skin/modern/inspector/ content branding jar:browser.jar!/content/branding/ content browser jar:browser.jar!/content/browser/ content browser-region jar:browser.jar!/content/browser-region/ overlay chrome://communicator/content/contentAreaContextOverlay.xul chrome://communicator/content/permissions/imageContextOverlay.xul overlay chrome://communicator/content/pref/preftree.xul chrome://communicator/content/pref/permissionsPrefsOverlay.xul overlay chrome://navigator/content/navigatorOverlay.xul chrome://communicator/content/permissions/permissionsNavigatorOverlay.xul overlay chrome://navigator/content/navigatorOverlay.xul chrome://communicator/content/permissions/cookieTasksOverlay.xul overlay chrome://messenger/content/mailWindowOverlay.xul chrome://communicator/content/permissions/imageContextOverlay.xul content communicator jar:comm.jar!/content/communicator/ skin browser classic/1.0 jar:classic.jar!/skin/classic/browser/
probono
Now, can anynoe tell me how to extract the contents of this "magic" file automatically without having to launch mozilla-*?
Why isn't the file simply part of the package? Why gets it created at first launch? Can this beahvior be changed?

Acer Aspire 14" AI Copilot+PC Laptop Core Ultra 5 226V Gen 4 ARC 16GB 1TB Refurb
$480.63
Dell Latitude 14" Laptop Computer Intel i5 Up To 32GB RAM 1TB SSD Windows 11 Pro
$372.48
Samsung SSD980 1TB NVMe M.2 SSD
$125.00
External SSD 1TB 2TB Portable Hard Drive USB 3.1 Type-C High Speed PC Mac
$16.99
Acer Predator Helios Neo 16S AI 16" i9 275HX 2S RTX 5070 Ti 32GB 1TB SSD Refurb
$1794.16
Fanxiang 1/2/5/10Pcs 2.5'' SATA SSD Lot 1TB 2TB 4TB 512GB 256GB TLC Internal SSD
$255.98
1TB Kingston DataTraveler Max DTMAX/1TB USB Type-C Flash Drive
$86.95
Apple iPad Pro 12.9" 5th Gen 128GB 256GB 1TB 2TB Wi-Fi Or Cellular - Good
$489.99
SGIN 15.6" Laptop 16GB RAM 1TB SSD Win 11 Intel i3-10100Y Backlit Keyboard FHD
$335.99
NEW 2026 SGIN 18.5" Laptop Windows 11 PRO Intel N5095 16GB DDR4 1024GB SSD
$444.99