Firefox Deployment Kit
Before even starting the project I have to know what I'm getting into, where to start, and who I should talk to
should when I have problems.
1. Project Plan - This needs to be done before anything else. In this document I will plan my deliverables and set my goals. I also plan to incorporate a personal schedule so I know when I should be working on the project, and others will be able to contact me easily.
2. Research - I have to figure out early where the deployment kit stands as of now. Has there been work done on it? and if so, where I can learn about it.
3. Collaboration - By talking to developers who are already working on the project I should be able to get some idea of what has already been built and what I have to do to finish this project.
This section contains links relevant to the project.
- http://bertenshaw.blogspot.com/ - A link to my Blog which discusses my experience and documents my progress
- http://www.frontmotion.com/ - A company that has developed a .msi install file for pushing through AD
- Add MSI to Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=231062
Documentation of Research
January 15th - I have found a script/program called FrontMotion that seems to be open source. I havn't been able to test it out as of yet but I plan to tomorrow. This script doesn't support Vista.
January 16th - This evening I plan on finishing my project plan and upload it to the wiki. I am also going to take a stab at building the FrontMotion script and testing it in a work environment. For more information on FrontMotion click here http://www.frontmotion.com/Firefox/fmfirefox.htm
January 17th - I've started researching IEAK so that I can get an idea of how an Admin kit works. See IEAK Documentation
January 18th - I tried installing CCK today. I was able to get it as an add-on but was unsuccessful making my first build. I expect that it has something to do with me running Windows Vista at home. The make file needs to have a ZIP program in the PATH and although I had one there, it still didn't work. I am aiming to have a build by the 22nd of Jan.
Jan 20th - Today I spend sometime setting up a small 'coroporate' like network at home. Working at a computer store allows me access to many older computers and I've been able to set up Server 03 on a test box here at home. I expect that after I set up some client machines I will be able to start testing the firefox build kit (CCK). I also am going to document the set up process.
Jan 22nd - After setting up my Server 03 environment I needed a client to test with. I have set up a client server environment and re-familiarized myself with active directory and group permissions.
Jan 24th - I've done some research on pushing an install through active directory. With Microsoft's Server 2003 it is possible to push an install to clients using group policy and a .msi file. Since most Firefox installers are .exe I had to do some looking for a .msi file. I was able to find one from a company called FrontMotion. They develop .msi files for the very reason of pushing them through AD (active directory). To read more about this, read my Jan 25th build statement.
Jan 26th - Successful remote install of Firefox over a network using the .msi file from FrontMotion.
Jan 28th - I've done some research into customizing a push of Firefox over the network. I'd ideally like to create a tool like Mkaply's CCK tool which exports an .xpi file to customize Firefox.
Feb 1st - Turns out there could be an easier way of customizing Firefox. There are server admin files (also known as .adm) files that allow an admin to customize and install of Firefox over a network. Such settings include install directory and default browser settings.
Feb 4th - I've been successful in using a .adm file to customize a push of Firefox over the network. After doing so, I'd like to do some more research into figuring out how this .adm file interacts with the install.
Feb 6th - Today I've started to get a little lost again. Not only do I have to create an .msi I am actually attempting to create a program that can create and customize .msi files. I figure the most important thing is to understand more about .msi files so I can edit/create them.
Feb 8th - So I did some research on .msi files. There are tons of tutorials on the internet on how to use automated tools to create .msi files. I need to manually do it so that I can customize it. I found a Microsoft SDK on the internet for it. I am currently downloading it and will begin my work with it tomorrow.
Feb 9th - Knowing that I must produce some tangible code for this week I have been really stressing about my project. I feel somewhat lost. I've used a tool called Orca (included in the SDK) that has allowed me open some .msi files and edit them. I still know very little about creating .msi files.
Feb 10th - After speaking with David Humphrey I feel much better about my work. He has pointed me at a project know as Wix. Which seems to be an OS SDK for developing .msi files. Since I'm at work I can't write more yet.
Feb 14th - I've spent a ton of time trying to get the Wix toolset to build in a Vista environment. This has turned out to be nothing but annoying and I've decieded to move my project to a Windows XP platform.
Feb 17th - After trying to get the Wix source files to build for hours I've realized that I forgot to install the Windows SDK which is not listed as a prerequist to building the source code on the Wix website.
Feb 18th - I was able to build the source code finally. I also realized I could have just downloaded the binaries. I'm not to impressed with myself.
Feb 20th - Today I was able to actually build something with the Wix toolset. I had to read a small tutorial on building .msi files but after that I was able to build a very basic .msi. I will try to attach both the .msi and the script.
Feb 24th -> March 2nd - During this time I've been working closely with the Wix toolset. I downloaded a script from the internet for build 184.108.40.206. This script doesn't work though and I'll have to make some modifications to get it working.
By the end of this semester I hope to have a program that can deploy Firefox over a network or work environment. My build will include all the add-ons that I personally like as well as being fully customized for a work environment (ie. setting default homepage).
- Updated Feb 13th*
I realize my goals have been somewhat vague. For that reason I will clarify. By the end of the semester I hope to create a program that can customize and create .msi files. Whether I succeed or fail in my goal, I hope to pave the road for other developers to pick-up where I left off.
Dec 25 - Documentation of inital research build .1
0.2 - My .adm file for Group Policy Objects.
0.3 - I realize I havn't put up much lately, and it is because I havn't been struggling with the direction of my project. This build is actually my first Wix toolset script and .msi file that resulted from it.
0.8 - I have been able to update my .Wix script to 220.127.116.11 and I've completed the first build of my packaging program.
References A) Microsoft’s “How to use Group Policy to remotely install software in Windows Server 2003” http://support.microsoft.com/kb/816102