Rolling Out Mozilla in an Organization? 486
jdclucidly asks: "I am a network administrator for a small non-profit (about 50 employees). I would like to roll Mozilla 1.2.1 out to all of our desktops. We don't have a single ghost image because the computers on site are too varied. Yes, I did my Googling. The source for the installer is just huge and mind boggling. Is there something like a Mozilla Administration Kit that will generate custom Mozilla installers? If not, would people on Slashdot be interested in starting a new project to make such a kit?" If you were going to deploy a "branded" version of Mozilla, company-wide, how would you do it, especially if you had to worry about a mixed OS environment?
"Here's what I want to do:
- Install everything but Quality Feedback Agent
- Set Mozilla as the default browser
- Disable 'Open Unrequested Windows' (kill pop-ups)
- Install Elveraldo's Crystal-Classic theme as default
- Set Google as the default search engine
- Set 'Georgia' as the default Serif font for Western and Unicode
- Enable HTTP Pipelining
- Enable FIPS internal cryptography
- Set toolbar to 'Pictures only'
- Set Home Page to my organization's intranet site
- Set start page to 'Blank page'
- Disable 'Hide the tab bar'
- Enable Middle-click for new tab
- Enable control+enter for new tab
- Default downloads to 'open a progress dialog'
- Disable Javascript and Plugins for Mail & News
- Enable quicklaunch
- Create an additional shortcut on the desktop and in quicklaunch that uses chrome/icons/mailnew.ico as it's source and points to 'mozilla.exe -mail'
I installed Mozilla on my machine using the stub installer and had it save all of the .XPI components to a folder. I went in and extracted the .XPI's and examined them. It seems possible to do these things but not without learning XUL, JavaScript, XML and Mozilla.org's own stuffings -- not to mention setting up a Visual C++/Cygwin compiling farm for every next Mozilla release. Can I:
- Directly modify the defaults/prefs/all.js file to incorporate my preference defaults above and then recompress the .XPI?
- Add to the installer Crystal-Classic.jar somehow? Where are those changes made?
- Make the installer NOT allow the user to change any of this?
- Make the installer create the above mentioned shortcut?"
Re:Don't use Mozilla (Score:5, Interesting)
Ok, I'll take a shot. (Score:3, Interesting)
Make one install on your PC. Setup all of the preferences how you want them.
Copy the .mozilla directory (or whatever) to wherever you plan on installing this from. chmod a-w on it for *nix users, set permissions accordingly on it for Windows.
Put your .jar theme where it needs to be
Install on everyone else's PCs and just copy the preferences folder via a script or by hand.
Profit!
It such a small number of people, it should be painless to do it by hand anyways.
It' won't be easy... (Score:5, Interesting)
First of all, Mozilla doesn't understand UNC paths. If your GPO redirects %appdata%, you're screwed. Quit now. The mozilla registry.dat file goes in %appdata%\mozilla and if %appdata% is in a UNC of DFS share, it won't find it.
Then ... if you allow users to create profiles in the default location, below %appdata%\mozilla, expect profiles to go missing. Windows has a nasty habit of duplicating roaming profiles, like profiles\user, profiles\user.domain, profiles\user.domain.000, etc... Since your profile location is a hardcoded path in registry.dat, Mozilla will find it, but will try to load the profile in the stale profile location. If that doesn't exist now, it'll throw up a profile manager asking you to recreate one.
The solution to above is to create the profile manually via a command like:
That will move the bulk of the profile (except registry.dat) to a fixed location out of the roaming profile.
For a lot more detail and my rant, read bug #162025, comment #28.
We have done a lot to get it working finally, including some logon vbscripts to create the profiles, repair prefs.js file, have some mandatory prefs.js entries that are replaced during logon if user changes them (like home page for us), etc...
We've been through hell but think we finally have it licked by working around mozilla bugs. We intend to post a page on our experiences, but not in the next 12 hours (the effective life of a slashdot story)
When it's ready, I'll e-mail you or feel free to contact me if you want the scripts as they stand now (we are still debugging some things).
Re:Uhh... this is what you DON'T want to do (Score:3, Interesting)
Mozilla is easy to deploy, but a bitch to configure. See my other note in this thread for that nightmare...
Some simple ideas. (Score:4, Interesting)
Use the first installation(full version) to generate all the files that contain the settings you want for each machine. And copy them to each machine after installing the crippled mozilla on them.
You should be able to achiave your goals like this, if each machine requires uniqe settings(email and such) then you have some work to do, but it should'nt be impossible.
Sysprep for varying hardware (Score:3, Interesting)
At the university where I am the network administrator, we use Microsoft's sysprep in conjunction with our Ghost images. If you run sysprep on your master machine before taking your Ghost image, Windows 2000 for instance will rebuild it's P-n-P database the first time it boots on a target machine and load all of the necessary drivers for the different hardware.
You can check out sysprep here [microsoft.com].
If, however, hardware is not your problem with deploying a single Ghost image, I'm sorry for the wasted bandwidth.
I feel so dirty. I'm a Mac guy giving advice for Windows. I'm going to shower now.
SiO2
ah netscape modified installers keeps MS away (Score:2, Interesting)
check http://www.netscape.com for details..
schools usually use this method because their needes are similar to yours..
Win32 architecture solution... (Score:4, Interesting)
I recommend using InstallRite [epsilonsquared.com] by Epsilon Squared Inc. [epsilonsquared.com] to automate installation of any application on multiple PCs with different hardware and software configurations.
It's easy to use and the documentation is good, IMHO. A big plus is that it is Freeware. Checking it out might be beneficial to you.
Re:just copy the directory (Score:3, Interesting)
Ask Ben over a Beonex.com (Score:4, Interesting)
Check out this bug on bugzilla [mozilla.org] where the start of roaming profile code exists for your compiling and testing pleasure. roaming profile setup IMHO is the way to go if folks use at different machines at different times. Outside of what's in the works...for now, I'd manually configure one for each platform and copy the folder over. Several different XPI's can be rolled into one, but it does take some hacking skills.
Later this year, Hopefully, roaming will be up and running in Mozilla and with that bwill likely come some nice deployment tools.
I'd do a centralized installation and use X (Score:2, Interesting)
Server-side:
I would set up the needed configuration(s) on one server. Then I would set up a group of "Terminal Servers" that use NFS to mount the custom config(s) and needed binaries on the first server.
Client-side:
Set up all the clients to allow connections to display
ssh "mozilla --display=client-ip:0"
This command could be set up as an icon on the gnome-panel so the user only needs to click on a button to launch Mozilla.
Just a few ideas anyway...
Wait for users? No, use SUS! (Score:3, Interesting)
What is SUS, you say?
How do I install this?
@echo off
copy wuau22.msi \\%1\c$
psexec \\%1 c:\winnt\system32\msiexec.exe
echo Done with computer %1!
PSExec is a Free (again, beer) tool from Sysinternals. If you don't already have it (shame on you!) you can get it here [sysinternals.com].
Okay, how does this work?
Caveats:
Anyway, check out the link at the top of this post, and RTFWP (White Paper) on that site. It will tell you all you want to know about SUS
Danke
Re:Only on Slashdot... (Score:3, Interesting)
Re:just copy the directory (Score:3, Interesting)
If this is totally true, and you can just copy the directory then all you have to deal with is this-
Buy Wise installer or some other installer App (perhaps 1 for each OS, can't imagine it would be more than 3)
1) If what was stated is true (that you can simply copy the folders) then make an installer based on your one computer's Moz setup.
2) This will compress your files.
3) You can add any extra files you want (.jar or otherwise) Install those as well, or even make seperate installers for the jar files, and simply include them in the installer. You can put these files anywhere you want on their system as well, simple point, click and naming folders and such, it's very easy.
4) Any variations of versions of an OS (say windows 95 vs Windows XP) can be detected using scripting in the Wise installer (or hopefully any other installer you use) and then you can install different files based on the version of the OS.
5) You would maintain total control of how the installer puts files on the end users computer. (One installer I made when ran, didn't ask the user anything, just opened up, installed the files and then closed.)
6) Any and all shortcuts, and folder groups are all super cake and easy to setup with a good installer application. I highly recommend wise if you do any installing on windows.
7) A simple wise for windows installer 4 standard edition is $450, with all the power and ease of use you get for it, you will find it can help you with many other things to install besides this. You can make installers to install installers, just to get past people screwing up things. :) (like automated button clicks and the such) though I have only experimented with these things a little.
8) If you have the money and the time to learn the more robust installers, you may be able to do even more than the above.
-v
Re:Doing it with my friend's Mom.. (Score:3, Interesting)
You don't have to be a mozilla developer. Writing install scripts, javascript, or xul is pretty easy for just about anybody. Hell even if you simply documented what to do it would be a HUGE help.
"Modifications to the source *should* be made/will likely be required. "
Once again this is not true. There are many posts on this subject now which explain what needs to get done and none of them require source changes.
"MacOSX already handles users and seperating settings between users - it follows that Mozilla should use these more refined more standard methods rather than invent their own."
I am going to try a few experiments but I bet I can even use a centralized install of mozilla. Just install it in one place and have multiple users use it.
Re:just copy the directory (Score:3, Interesting)
Standard Customized Profile (Score:2, Interesting)
We are currently deploying Mozilla 1.2.1 to our employees using a standard profile template filled with user specific values read from our LDAP system. This takes the hassle of configuration away from the user at the desktops and guarantees that he has a working profile the first time he launches Mozilla.
We had to manually edit the registry.dat file of the default Mozilla installation to point to the preconfigured profile in the user's home directory (drive H: on windows). We basically eliminated the random string in the profile path which is included for "security reasons" but makes automated profile generation very hard.
No we have a neat little script doing an sed over the profile template. With that we are able to generate user profiles in a second.
The binaries are distributed using "PC Updater", a package tool for windows. The packages includes the modified registry.dat file in c:\windows\application data\mozilla for win98. For W2K we put this registry.dat file into the user's roaming profile directory "application data\mozilla".