Difference between revisions of "Firefox Deployment Kit"

From CDOT Wiki
Jump to: navigation, search
(Builds)
(Builds)
 
(19 intermediate revisions by 2 users not shown)
Line 28: Line 28:
  
 
* http://www.frontmotion.com/ - A company that has developed a .msi install file for pushing through AD
 
* 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 ==
 
== Documentation of Research ==
Line 45: Line 47:
 
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 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.
  
== Project Goals ==
+
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.
  
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).
+
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.
  
== Builds ==
+
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.
  
Dec 25th) This is my first real build for my project and it only really includes documentation. I am still not sure if this the right approach for my project however even if it isn't I'm sure that this is useful information. In this build I was successful in pushing an install of Firefox over the network. The following includes documentation on how this process was completed.
+
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.
  
Installing Firefox over the network with Microsoft Server 2003 and Active Directory.  
+
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.  
  
Assuming that Server 2003 is set up and that there is a domain running on it, there are a couple things one must do before attempting the remote install. Firstly there must be a mapped drive on the server, this must also be accessible from the user(s) you are planning to push the install to.
+
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.
Once that is completed, create a folder in the mapped drive where you want to put your installer. In my case I downloaded the latest build from [[http://www.frontmotion.com]]. You can’t simply put a .exe  file in this directory, it must be a .msi file or this won’t work.
 
After that is done, a user account must be created (if not already) to push the install to. You may also create a group so that the install can be pushed to all the users in that group. Lastly a group policy object or GPO must be created.  The following instructs on how to create a GPO: 
 
Create a Group Policy Object
 
  
To create a Group Policy object (GPO) to use to distribute the software package:
+
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.  
1. Start the Active Directory Users and Computers snap-in. To do this, click Start, point to Administrative Tools, and then click Active Directory Users and Computers.
 
  
2. In the console tree, right-click your domain, and then click Properties.  
+
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.
  
3. Click the Group Policy tab, and then click New.
+
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 1.5.0.4. This script doesn't work though and I'll have to make some modifications to get it working.
  
4. Type a name for this new policy (for example, Office XP distribution), and then press ENTER.
+
March 3rd - By removing some lines in the script I have been able to get it to build however there still seems to be some bugs.  
  
5. Click Properties, and then click the Security tab.
+
March 10th- After not receiving a very good grade on my last build I have to really step it up. I've been concentrating on getting my 1.5.0.4 script up to 2.0.0.12 and building a program that will package everything together.
  
6. Click to clear the Apply Group Policy check box for the security groups that you want to prevent from having this policy applied.
+
== Project Goals ==
  
7. Click to select the Apply Group Policy check box for the groups that you want this policy to apply to.
+
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).
  
8. When you are finished, click OK.
+
*Updated Feb 13th*
  
* The above was taken from Microsoft Documentation, see referenced (A).  
+
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.
  
Next, you must Assign a package to the GPO. In my case the Microsoft documentation differed greatly from how I did it, so I will document my process.
+
== Builds ==
  
1. Select the GPO created in the steps above and click edit.
+
[[Dec 25]] - Documentation of inital research build .1
  
2. Under either ‘Computer Configuration’ or ‘User Configuration’ (depending on where you want to push the software) click new and then click package.  
+
[[0.2]] - My .adm file for Group Policy Objects.  
  
3. A dialog box will open, navigate to the .msi package you want to push (in this case firefox) and select it.  
+
[[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.  
  
4. Click Assigned, then navigate the tabs to ensure the package will be pushed to the proper computers/users.
+
[[0.8]] - I have been able to update my .Wix script to 2.0.0.12 and I've completed the first build of my packaging program.
  
5. Exit AD. When the user/computer is logged on the install will commence.  
+
[[0.9]] - Since my last build much has changed. Please follow the link for details.  
  
That is all I did to remotely install the package. My next build will be using CCK to customize the package I decide to push over and documenting different types of remote installs.
+
[[1.0]] - My Final Build. Click to see details.  
  
 +
Final Report - http://daven.ca/ffp.doc
  
 
References
 
References
 
A) Microsoft’s “How to use Group Policy to remotely install software in Windows Server 2003”
 
A) Microsoft’s “How to use Group Policy to remotely install software in Windows Server 2003”
 
http://support.microsoft.com/kb/816102
 
http://support.microsoft.com/kb/816102

Latest revision as of 17:18, 19 April 2008

Prerequisites

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.


Links

This section contains links relevant to the project.

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 1.5.0.4. This script doesn't work though and I'll have to make some modifications to get it working.

March 3rd - By removing some lines in the script I have been able to get it to build however there still seems to be some bugs.

March 10th- After not receiving a very good grade on my last build I have to really step it up. I've been concentrating on getting my 1.5.0.4 script up to 2.0.0.12 and building a program that will package everything together.

Project Goals

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.

Builds

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 2.0.0.12 and I've completed the first build of my packaging program.

0.9 - Since my last build much has changed. Please follow the link for details.

1.0 - My Final Build. Click to see details.

Final Report - http://daven.ca/ffp.doc

References A) Microsoft’s “How to use Group Policy to remotely install software in Windows Server 2003” http://support.microsoft.com/kb/816102