@evilvoice
Okay, here's what I do:
1. We're fortunate that firefox and thunderbird do not use absolute paths in their main config files (in program files folder).
2. My method is as you mentioned - none of "install this/that silently" crap.
3. Download firefox 1.0 (installer/.EXE) and install it to "%programfiles%\Mozilla\Firefox"
4. Install all the extensions that you want - ensure that changes are being made to the installed app in %ProgramFiles% and not in your userProfile folder alone.
5. Download Thunderbird 0.9 (installer) and install it to "%programfiles%\Mozilla\Thunderbird".
6. Do all the preferences editing that you want to do (you need to edit the .JS files in the installed folder, if you want).
7. Download the Sunbird 0.2 ZIP file and extract into "%programfiles%\Mozilla\Sunbird"
8. Now just start all of these, and satisfy yourself, that it works properly.
9. Copy away the "%programfiles%\Mozilla" folder to desktop.
10. Go into this folder now, and taking a good look at all contents, delete the uninstallers - since it is not relevant.
11. Then right-click the above folder (which is on desktop now) and choose to compress to 7-ZIP archive. Ensure that the compression level is "Ultra" and that "make SFX" box is checked. The other settings in that window can be left at defaults.
12. You now have "Mozilla.EXE" on your desktop with a 7-Zip SFX icon. Edit the icon resource (with resource hacker) if you don't like the icon!
13. If you added firefox and thunderbird *AND* sunbird (the PIM) - your resulting archive (mozilla.exe) should be 8.7 MB. If you added only ff and tb, it should be 6.2 MB.
14. Now, put the EXE wherever you want on your CD. Below is an example (command-line) of getting the 7-zip SFX module to extract contents silently to the path you specify:
%whatever%\path\pre_Mozilla.exe -y /q /r:n -o"%ProgramFiles%"
15. Then, go to this page, and get the INF that will make the required registry entries. (Now why do I prefer INF for this one? Because you can use system variable names, instead of having absolute paths). The registry entries that the INF makes is the same keys that the firefox/thunderbird installer does while installing - so that is all you need (you can forget about using installers for Ff or Tb).
Settings in INF (this one is the newer/correct version)
Do you want settings in .REG instead? (older/not recommended).
16. If you want to make firefox your default Internet sticky (in new-design StartMenu of XP), the details of "HOW", are in that thread which contains INF settings for Mozilla (linked to, above).
17. Put shortcuts to firefox/thunderbird/sunbird in:
$OEM$\$Docs\All Users\Start Menu\Programs\Mozilla\
Ensure that the "path to application" of the shortcuts don't contain absolute paths (instead, it should use system variables, like %ProgramFiles% and such).
18. Make your uA CD!
The paths I have given above is simply because I find those convenient - change the paths to suit your liking (but then the .REG or INF that you import for the app needs to be modified too).
I recommend that you add-in thunderbird to your package (instead of stopping with just firefox) because:
1. Outlook Express simply begs for a replacement.
2. The size of the 7-zip archive (if you don't add thunderbird) will be only 1 MB lesser - so you're not saving on disk-space by leaving out thunderbird.
3. Of course, if you are determined that you only want firefox - its your choice by all means! In that case, don't do the things that are related to thunderbird above.
I hope you understand that the actual process of doing this is not quite as lengthy as my post seems to suggest - I've made a huge post simply to pass-on all the needed info. Hoping you like it - took some time to document what I do (its surprising how we don't clearly note down what works for us, when we do it for ourselves the first time!). Do post back on how it goes.