Difference between revisions of "Firefox"

From WPKG | Open Source Software Deployment and Distribution
Jump to: navigation, search
(we don't need to tell people to update their Firefox version, this is true of most software, thus implied)
(move link for making default browser to the relevant section)
Line 1,110: Line 1,110:
  
  
== Questions ==
+
== Links ==
  
How do you do these things?
 
 
* Make Firefox the default browser - already explained above, but here are some other interesting links:
 
 
  * [http://sourceforge.net/mailarchive/forum.php?thread_id=10214034&forum_id=42940 Make Firefox default browser]
 
 
   * [http://firefox.dbltree.com/ Automated deployment of Firefox with extensions, themes, and pre-configuration]
 
   * [http://firefox.dbltree.com/ Automated deployment of Firefox with extensions, themes, and pre-configuration]
  

Revision as of 21:18, 5 September 2008

This is a silent installer and uninstaller for Mozilla Firefox 1.5, 2.0 and 3.0, but it should work with other versions of Firefox, too.

Basic installation

Note the high priority - Firefox should be installed before plugins, like Adobe Flash Player or Adobe Authorware Player etc (or this could be achieved with dependencies).

As the Firefox installer now nicely upgrades and doesn't leave the old one in the registry, there is no need to differentiate versions in "package id".
When a new version comes out, replace every occurrence of the version number in the installer file from, e.g. 1.5.0.4, with, e.g. 1.5.0.5 and then increment the package revision number.

Note that the Add/Remove Programs string of Firefox 1.5 is used for all subversions (1.5.0.4, 1.5.0.5 etc). We don't bump the package version number assuming that minor version upgrade works from Firefox itself. If we did, we would force reinstall on the people who already have Firefox automagically updated.

<package
		id="firefox3"
		name="Mozilla Firefox 3"
		revision="301"
		reboot="false"
		priority="10">
		
		<check type="uninstall" condition="exists" path="Mozilla Firefox (3.0.1)" />
		<install cmd="taskkill /F /IM Firefox.exe">
			<exit code="0" />
			<exit code="128" />
		</install>
		<install cmd="%SOFTWARE%\Internet\firefox\Firefox Setup 3.0.1.exe -ms" />
		<upgrade cmd="taskkill /F /IM Firefox.exe">
			<exit code="0" />
			<exit code="128" />
		</upgrade>
		<upgrade cmd="%SOFTWARE%\Internet\firefox\Firefox Setup 3.0.1.exe -ms" />
		<remove cmd="taskkill /F /IM Firefox.exe">
			<exit code="0" />
			<exit code="128" />
		</remove>
		<remove cmd="%PROGRAMFILES%\Mozilla Firefox\uninstall\helper.exe /s" />
	</package>


<package 
    id="firefox" 
    name="Mozilla Firefox 2.0" 
    revision="20016" 
    reboot="false" 
    priority="10">
 
    <check type="logical" condition="or">
      <check type="uninstall" condition="exists" path="Mozilla Firefox (2.0)" />
      <check type="uninstall" condition="exists" path="Mozilla Firefox (2.0.0.16)" />
    </check>
    <check type="file" condition="exists" path="%PROGRAMFILES%\Mozilla Firefox\firefox.exe"/>
 
    <install cmd='"%SOFTWARE%\firefox\Firefox Setup 2.0.0.16.exe" -ms' />
    <upgrade cmd='"%SOFTWARE%\firefox\Firefox Setup 2.0.0.16.exe" -ms' />
    <remove cmd='"%PROGRAMFILES%\Mozilla Firefox\uninstall\helper.exe" /s' />
 
</package>


<package 
    id="firefox" 
    name="Mozilla Firefox 1.5" 
    revision="15041" 
    reboot="false" 
    priority="10">
 
    <check type="uninstall" condition="exists" path="Mozilla Firefox (1.5)" />

    <install cmd='"%SOFTWARE%\firefox\Firefox Setup 1.5.0.4.exe" -ms' />
    <upgrade cmd='"%SOFTWARE%\firefox\Firefox Setup 1.5.0.4.exe" -ms' />
    <remove cmd='"%PROGRAMFILES%\Mozilla Firefox\uninstall\uninstall.exe" -ms' />

</package>


Make Firefox the default browser

This one will set Firefox as the default browser for all users - it will try to start Firefox in the background, which will set itself as the default browser. After 10 seconds, we kill the Firefox process, as it's no longer needed, and repeat the process again to make sure we really did set the default browser to Firefox (it's needed to do it like this in some circumstances). Note the "taskkill" command exists in Windows XP Pro (and probably Windows Server 2003) but not Windows 2000 or XP Home.

<package
     id="firefox-default"
     name="Make Firefox the default browser"
     revision="1"
     priority="0"
     execute="once">
 
  <install timeout="10" cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -silent -nosplash -setDefaultBrowser' >
   <exit code="-1" />
   <exit code="0" />
  </install>
 <install cmd='ping 127.0.0.1 -n 10>NUL' />
 <install cmd='taskkill /F /IM Firefox.exe' >
   <exit code="0" />
   <exit code="128" />
 </install>
  <install timeout="10" cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -silent -nosplash -setDefaultBrowser' >
   <exit code="-1" />
   <exit code="0" />
  </install>
 <install cmd='ping 127.0.0.1 -n 10>NUL' />
 <install cmd='taskkill /F /IM Firefox.exe' >
   <exit code="0" />
   <exit code="128" />
 </install>
 
</package>

See also Wiki on Default Browser.

Firefox with extensions and default profile

You need the following structure:

%SOFTWARE%\mozilla\firefox-(version)-(language).exe
%SOFTWARE%\mozilla\fx_extensions          (all extensions you need)
%SOFTWARE%\mozilla\fx_profile             (copy in whatever you need in Firefox' dir)
%SOFTWARE%\tools\pskill.exe               (from sysinternals)

We assign two profiles - one for normal users, one for webdevelopers, with <depends profile-id "..."> in profiles.xml:

<profile id="firefox2">
        <package package-id="firefox20" />
        <package package-id="firefox2-ext-adblockplus" />
        <package package-id="firefox2-ext-bookmarkdupdetect" />
        <package package-id="firefox2-ext-conquery" />
        <package package-id="firefox2-ext-cookieculler" />
        <package package-id="firefox2-ext-downthemall" />
        <package package-id="firefox2-ext-idninfo" />
        <package package-id="firefox2-ext-ieview" />
        <package package-id="firefox2-ext-pdfdownload" />
        <package package-id="firefox2-ext-plaintextlinks" />
        <package package-id="firefox2-ext-showip" />
        <package package-id="firefox2-ext-undoclosetab" />
        <package package-id="firefox2-ext-screengrab" />
        <package package-id="firefox2-ext-dic-de-de" />
</profile>
<profile id="firefox2-dev">
        <depends profile-id="firefox2" />
        <package package-id="firefox2-ext-aardvark" />
        <package package-id="firefox2-ext-cssviewer" />
        <package package-id="firefox2-ext-webdeveloper" />
        <package package-id="firefox2-ext-xray" />
        <package package-id="firefox2-ext-firebug" />
        <package package-id="firefox2-ext-videodown" />
        <package package-id="firefox2-ext-fireftp" />
</profile>

Don't forget to adjust the language version of firefox and its extensions, the profile etc. The check conditions for the extensions could be wrong for other languages, too. The pskill is sometimes needed: if firefox is started the first time as default user - it asks for importing the ie bookmarks and never comes back ... If there is an older version of Firefox < 1.5 during first install, the program dir is just renamed (too much different ways of uninstall).

The extensions are now easier to manage: same structure for all packages using variable name "%FXEXT%" with the name of the xpi file.

<!-- TEMPLATE package for fx_extensions (change XX) -->
     <package
         id="firefox2-ext-XX"
         name="firefox extension XX"
         revision="1"
         reboot="false"
         priority="99">
        <depends package-id="firefox20" />
        <check type="file" condition="exists" path="%programfiles%\mozilla firefox\extensions\XX" />

	<variable name='fxext' value='xyz.xpi'/>

	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<install cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<install cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<install cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <upgrade cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\XX"' />
	<upgrade cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<upgrade cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<upgrade cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <remove cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\XX"' />
     </package>
<!-- END of Template Package -->
<packages>
        <package
           id="firefox20"
           name="Mozilla Firefox 2.0"
           revision="2013"
           reboot="false"
           priority="99">
           <check type="logical" condition="or">
		   <check type="uninstall" condition="exists" path="Mozilla Firefox (2.0.0.14)" />
                   <check type="uninstall" condition="exists" path="Mozilla Firefox (2.0.0.13)" />
           </check>
 	   <check type="file" condition="exists" path="%programfiles%\mozilla firefox\defaults\profile\prefs.js" />
           <install cmd='cmd /c if exist "%programfiles%\mozilla firefox\firefox.exe" move /y "%programfiles%\mozilla firefox" "%programfiles%\mozilla firefox.bak"' >
             <exit code="1" />
           </install>
           <install cmd='"%SOFTWARE%\packages\mozilla\firefox-20013-deu.exe" -ms'>
             <exit code="0" />
           </install>
           <install cmd='cmd /c if exist "%programfiles%\mozilla firefox.bak\searchplugins" copy /y "%programfiles%\mozilla firefox.bak\searchplugins\*" "%programfiles%\mozilla firefox\searchplugins\"' >
             <exit code="1" />
             <exit code="0" />
           </install>
           <install cmd='xcopy /v /s /i /e /h /c /y /q "%SOFTWARE%\packages\mozilla\fx_profile\*" "%programfiles%\mozilla firefox\"' >
             <exit code="1" />
           </install>
           <install cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -CreateProfile default '>
             <exit code="0" />
           </install>
           <upgrade cmd='"%SOFTWARE%\packages\mozilla\firefox-20013-deu.exe" -ms'>
             <exit code="0" />
           </upgrade> 
           <upgrade cmd='xcopy /v /s /i /e /h /c /y /q "%SOFTWARE%\packages\mozilla\fx_profile\*" "%programfiles%\mozilla firefox\"' >
             <exit code="1" />
           </upgrade>
           <remove cmd='"%programfiles%\mozilla firefox\uninstall\helper.exe" /S' >
             <exit code="20" />
           </remove>
        </package>

     <package
         id="firefox2-ext-adblockplus"
         name="firefox extension adblock"
         revision="12"
         reboot="false"
         priority="99">
        <depends package-id="firefox20" />

	<variable name='fxext' value='AdblockPlus_0.7.5.3_fx+tb+sm+fl+sg_de-DE.xpi'/>

        <check type="file" condition="exists" path="%programfiles%\mozilla firefox\extensions\{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}\chrome\adblockplus.jar" />
	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<install cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<install cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<install cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<upgrade cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}"' />
	<upgrade cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<upgrade cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<upgrade cmd='cmd /C del /q /s c:\NETINST\%FXEXT%'/>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <remove cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}"' />
     </package>
     
     <package
         id="firefox2-ext-aardvark"
         name="firefox extension aardvark"
         revision="2"
         reboot="false"
         priority="99">
        <depends package-id="firefox20" />
        <check type="file" condition="exists" path="%programfiles%\mozilla firefox\extensions\{dd6976bb-536b-45cf-b2b6-5c137ec19a76}\chrome\aardvark.jar" />

	<variable name='fxext' value='Aardvark_1.2_fx_de-DE.xpi'/>

	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<install cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<install cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<install cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
	<upgrade cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{dd6976bb-536b-45cf-b2b6-5c137ec19a76}"' />
	<upgrade cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<upgrade cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<upgrade cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
	<remove cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{dd6976bb-536b-45cf-b2b6-5c137ec19a76}"' />
     </package>

     <package
         id="firefox2-ext-bookmarkdupdetect"
         name="firefox extension bookmarkdupdetection"
         revision="5"
         reboot="false"
         priority="99">
        <depends package-id="firefox20" />
	<check type="file" condition="exists" path="%programfiles%\mozilla firefox\extensions\{ba243cb0-b824-4a26-9418-73ee795d9b9d}\chrome\duplicates.jar" />

	<variable name='fxext' value='BookmarkDuplicateDetector_0.6.3_fx_de-DE.xpi'/>

	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<install cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<install cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<install cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <upgrade cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{ba243cb0-b824-4a26-9418-73ee795d9b9d}"' />
	<upgrade cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<upgrade cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<upgrade cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <remove cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{ba243cb0-b824-4a26-9418-73ee795d9b9d}"' />
     </package>

     <package
         id="firefox2-ext-conquery"
         name="firefox extension conquery"
         revision="4"
         reboot="false"
         priority="99">
        <depends package-id="firefox20" />
         <check type="file" condition="exists" path="%programfiles%\mozilla firefox\extensions\{34fba747-cbc2-4929-b00d-0e523ee94a6f}\chrome\conquery.jar" />

	<variable name='fxext' value='ConQuery_1.7.3_fx+tb+ms+sm+fl_de-DE.xpi'/>

	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<install cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<install cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	 <install cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <upgrade cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{34fba747-cbc2-4929-b00d-0e523ee94a6f}"' />
	<upgrade cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<upgrade cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<upgrade cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <remove cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{34fba747-cbc2-4929-b00d-0e523ee94a6f}"' />
     </package>

     <package
         id="firefox2-ext-cookieculler"
         name="firefox extension cookieculler"
         revision="2"
         reboot="false"
         priority="99">
        <depends package-id="firefox20" />
        <check type="file" condition="exists" path="%programfiles%\mozilla firefox\extensions\{99B98C2C-7274-45a3-A640-D9DF1A1C8460}\chrome\cookieculler.jar" />

	<variable name='fxext' value='CookieCuller_1.3.1_fx+ms_de-DE.xpi'/>

	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<install cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<install cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<install cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <upgrade cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{99B98C2C-7274-45a3-A640-D9DF1A1C8460}"' />
	<upgrade cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<upgrade cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<upgrade cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <remove cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{99B98C2C-7274-45a3-A640-D9DF1A1C8460}"' />
     </package>

     <package
         id="firefox2-ext-cssviewer"
         name="firefox extension cssviewer"
         revision="2"
         reboot="false"
         priority="99">
        <depends package-id="firefox20" />
        <check type="file" condition="exists" path="%programfiles%\mozilla firefox\extensions\{8be51513-0433-45c1-9203-7b45019df871}\chrome\cssviewer.jar" />

	<variable name='fxext' value='cssviewer-1.0.2-fx.xpi'/>

	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<install cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<install cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<install cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <upgrade cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{8be51513-0433-45c1-9203-7b45019df871}"' />
	<upgrade cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<upgrade cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<upgrade cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <remove cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{8be51513-0433-45c1-9203-7b45019df871}"' />
     </package>

     <package
         id="firefox2-ext-downthemall"
         name="firefox extension downthemall"
         revision="6"
         reboot="false"
         priority="99">
        <depends package-id="firefox20" />
        <check type="file" condition="exists" path="%programfiles%\mozilla firefox\extensions\{DDC359D1-844A-42a7-9AA1-88A850A938A8}\chrome\dta.jar" />

	<variable name='fxext' value='DownThemAll_0.9.9.10_fx+tb+fl_de-DE.xpi'/>

	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<install cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<install cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<install cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <upgrade cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{DDC359D1-844A-42a7-9AA1-88A850A938A8}"' />
	<upgrade cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<upgrade cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<upgrade cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <remove cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{DDC359D1-844A-42a7-9AA1-88A850A938A8}"' />
     </package>

     <package
         id="firefox2-ext-idninfo"
         name="firefox extension idninfo"
         revision="2"
         reboot="false"
         priority="99">
        <depends package-id="firefox20" />
        <check type="file" condition="exists" path="%programfiles%\mozilla firefox\extensions\{44429A1C-82C0-41ea-93DC-52A0B467AD7B}\chrome\idninfo.jar" />

	<variable name='fxext' value='IDNinfo_0.6.6_fx_de-DE.xpi'/>

	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<install cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<install cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<install cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <upgrade cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{44429A1C-82C0-41ea-93DC-52A0B467AD7B}"' />
	<upgrade cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<upgrade cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<upgrade cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <remove cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{44429A1C-82C0-41ea-93DC-52A0B467AD7B}"' />
     </package>

     <package
         id="firefox2-ext-pdfdownload"
         name="firefox extension pdfdownload"
         revision="9"
         reboot="false"
         priority="99">
        <depends package-id="firefox20" />
        <check type="file" condition="exists" path="%programfiles%\mozilla firefox\extensions\{37E4D8EA-8BDA-4831-8EA1-89053939A250}\chrome\pdfdownload.jar" />

	<variable name='fxext' value='PDFDownload_1.0.1.0_fx+fl_de-DE.xpi'/>

	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<install cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<install cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<install cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <upgrade cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{37E4D8EA-8BDA-4831-8EA1-89053939A250}"' />
	<upgrade cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<upgrade cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<upgrade cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <remove cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{37E4D8EA-8BDA-4831-8EA1-89053939A250}"' />
     </package>

     <package
         id="firefox2-ext-plaintextlinks"
         name="firefox extension plaintextlinks"
         revision="2"
         reboot="false"
         priority="99">
        <depends package-id="firefox20" />
        <check type="file" condition="exists" path="%programfiles%\mozilla firefox\extensions\{ec268e28-22c6-4a6c-ac22-635cabee283c}\chrome\textlink.jar" />

	<variable name='fxext' value='PlainTextLinks_0.3_fx_de-DE.xpi'/>

	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<install cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<install cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<install cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <upgrade cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{ec268e28-22c6-4a6c-ac22-635cabee283c}"' />
	<upgrade cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<upgrade cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<upgrade cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <remove cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{ec268e28-22c6-4a6c-ac22-635cabee283c}"' />
     </package>

     <package
         id="firefox2-ext-printit"
         name="firefox extension printit"
         revision="2"
         reboot="false"
         priority="99">
        <depends package-id="firefox20" />
        <check type="file" condition="exists" path="%programfiles%\mozilla firefox\extensions\{349ce370-12e8-11d9-9669-0800200c9a66}\chrome\printit.jar" />

	<variable name='fxext' value='PrintIt_0.3.8_de-DE.xpi'/>

	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<install cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<install cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<install cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <upgrade cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{349ce370-12e8-11d9-9669-0800200c9a66}"' />
	<upgrade cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<upgrade cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<upgrade cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <remove cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{349ce370-12e8-11d9-9669-0800200c9a66}"' />
     </package>

     <package
         id="firefox2-ext-showip"
         name="firefox extension showip"
         revision="2"
         reboot="false"
         priority="99">
        <depends package-id="firefox20" />
        <check type="file" condition="exists" path="%programfiles%\mozilla firefox\extensions\{3e9bb2a7-62ca-4efa-a4e6-f6f6168a652d}\chrome\ipv6ident.jar" />

	<variable name='fxext' value='showip-0.8.05-fx+mz.xpi'/>

	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<install cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<install cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<install cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <upgrade cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{3e9bb2a7-62ca-4efa-a4e6-f6f6168a652d}"' />
	<upgrade cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<upgrade cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<upgrade cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <remove cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{3e9bb2a7-62ca-4efa-a4e6-f6f6168a652d}"' />
     </package>

     <package
         id="firefox2-ext-ieview"
         name="firefox extension ieview"
         revision="6"
         reboot="false"
         priority="99">
        <depends package-id="firefox20" />
        <check type="file" condition="exists" path="%programfiles%\mozilla firefox\extensions\{6e84150a-d526-41f1-a480-a67d3fed910d}\chrome\ieview.jar" />

	<variable name='fxext' value='IEView_1.3.5_fx+ms+sm+fl_de-DE.xpi'/>

	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<install cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<install cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<install cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <upgrade cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{6e84150a-d526-41f1-a480-a67d3fed910d}"' />
	<upgrade cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<upgrade cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<upgrade cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <remove cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{6e84150a-d526-41f1-a480-a67d3fed910d}"' />
     </package>

     <package
         id="firefox2-ext-longurl"
         name="firefox extension longurl"
         revision="2"
         reboot="false"
         priority="99">
        <depends package-id="firefox20" />
        <check type="file" condition="exists" path="%programfiles%\mozilla firefox\extensions\{10F04CC7-50E2-4564-99EC-6E9B27985908}\chrome\openlongurl.jar" />

	<variable name='fxext' value='OpenLongUrl_0.2.2_de-DE.xpi'/>

	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<install cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<install cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<install cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <upgrade cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{10F04CC7-50E2-4564-99EC-6E9B27985908}"' />
	<upgrade cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<upgrade cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<upgrade cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <remove cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{10F04CC7-50E2-4564-99EC-6E9B27985908}"' />
     </package>

     <package
         id="firefox2-ext-remove-sortbookmarks"
         name="firefox extension sortbookmarks"
         revision="3"
         reboot="false"
         priority="99"
	 execute="once">
         <install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
             <exit code="-1" />
         </install>
         <install  cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{ea702e71-fcda-4c39-93bb-fea2b543b58c}"' >
             <exit code="1" />
         </install>
     </package>

     <package
         id="firefox2-ext-winupdate"
         name="firefox extension winupdate"
         revision="2"
         reboot="false"
         priority="99">
        <depends package-id="firefox20" />
        <check type="file" condition="exists" path="%programfiles%\mozilla firefox\extensions\{35106bca-6c78-48c7-ac28-56df30b51d2b}\chrome\windowsupdate.jar" />

	<variable name='fxext' value='WindowsUpdate_1.1.6_de.DE.xpi'/>

	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<install cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<install cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<install cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <upgrade cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{35106bca-6c78-48c7-ac28-56df30b51d2b}"' />
	<upgrade cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<upgrade cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<upgrade cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <remove cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{35106bca-6c78-48c7-ac28-56df30b51d2b}"' />
     </package>

     <package
         id="firefox2-ext-undoclosetab"
         name="firefox extension undoclosetab"
         revision="2"
         reboot="false"
         priority="99">
        <depends package-id="firefox20" />
        <check type="file" condition="exists" path="%programfiles%\mozilla firefox\extensions\undoclosetab@dorando\undoclosetab.zip" />

	<variable name='fxext' value='undoclosetab_20061120_fx+fl_de-DE.xpi'/>

	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<install cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<install cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<install cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <upgrade cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\undoclosetab@dorando"' />
	<upgrade cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<upgrade cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<upgrade cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <remove cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\undoclosetab@dorando"' />
     </package>

     <package
         id="firefox2-ext-webdeveloper"
         name="firefox extension webdeveloper"
         revision="6"
         reboot="false"
         priority="99">
        <depends package-id="firefox20" />
        <check type="file" condition="exists" path="%programfiles%\mozilla firefox\extensions\{c45c406e-ab73-11d8-be73-000a95be3b12}\chrome\webdeveloper.jar" />

	<variable name='fxext' value='WebDeveloper_1.1.4_fx+fl_de-DE.xpi'/>

	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<install cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<install cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<install cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <upgrade cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{c45c406e-ab73-11d8-be73-000a95be3b12}"' />
	<upgrade cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<upgrade cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<upgrade cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <remove cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{c45c406e-ab73-11d8-be73-000a95be3b12}"' />
     </package>

     <package
         id="firefox2-ext-xray"
         name="firefox extension xray"
         revision="2"
         reboot="false"
         priority="99">
        <depends package-id="firefox20" />
        <check type="file" condition="exists" path="%programfiles%\mozilla firefox\extensions\{3f1182ea-3243-4d32-8826-71fb1cc9c328}\content\xray.xul" />

	<variable name='fxext' value='xray-fx20.xpi'/>

	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<install cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<install cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<install cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <upgrade cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{3f1182ea-3243-4d32-8826-71fb1cc9c328}"' />
	<upgrade cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<upgrade cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<upgrade cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <remove cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{3f1182ea-3243-4d32-8826-71fb1cc9c328}"' />
     </package>

     <package
         id="firefox2-ext-screengrab"
         name="firefox extension screengrab"
         revision="4"
         reboot="false"
         priority="99">
        <depends package-id="firefox20" />
        <check type="file" condition="exists" path="%programfiles%\mozilla firefox\extensions\{02450954-cdd9-410f-b1da-db804e18c671}\chrome\screengrab.jar" />

	<variable name='fxext' value='Screengrab_0.93_fx_de-DE.xpi'/>

	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<install cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<install cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<install cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <upgrade cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{02450954-cdd9-410f-b1da-db804e18c671}"' />
	<upgrade cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<upgrade cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<upgrade cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <remove cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{02450954-cdd9-410f-b1da-db804e18c671}"' />
     </package>

     <package
         id="firefox2-ext-dic-de-de"
         name="firefox extension dic de-de"
         revision="1"
         reboot="false"
         priority="99">
        <depends package-id="firefox20" />
        <check type="file" condition="exists" path="%programfiles%\mozilla firefox\extensions\de-DE@dictionaries.addons.mozilla.org\dictionaries\de-de.dic" />

	<variable name='fxext' value='deutsches_w_ouml_rterbuch-1.0.1-fx+zm+tb.xpi'/>

	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<install cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<install cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<install cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <upgrade cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\de-DE@dictionaries.addons.mozilla.org\"' />
	<upgrade cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<upgrade cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<upgrade cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <remove cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\de-DE@dictionaries.addons.mozilla.org\"' />
     </package>

     <package
         id="firefox2-ext-firebug"
         name="firefox extension firebug"
         revision="3"
         reboot="false"
         priority="99">
        <depends package-id="firefox20" />
        <check type="file" condition="exists" path="%programfiles%\mozilla firefox\extensions\firebug@software.joehewitt.com\chrome\firebug.jar" />

	<variable name='fxext' value='firebug-1.05-fx+fl.xpi'/>

	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<install cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<install cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<install cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <upgrade cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\firebug@software.joehewitt.com"' />
	<upgrade cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<upgrade cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<upgrade cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <remove cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\firebug@software.joehewitt.com"' />
     </package>

     <package
         id="firefox2-ext-videodown"
         name="firefox extension videodown"
         revision="2"
         reboot="false"
         priority="99">
        <depends package-id="firefox20" />
        <check type="file" condition="exists" path="%programfiles%\mozilla firefox\extensions\videodowloader@videodownloader.net\chrome\videodownloader.jar" />

	<variable name='fxext' value='VideoDownloader_1.1.1_fx_de-DE.xpi'/>

	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<install cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<install cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<install cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <upgrade cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\videodowloader@videodownloader.net"' />
	<upgrade cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<upgrade cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<upgrade cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <remove cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\videodowloader@videodownloader.net"' />
     </package>

     <package
         id="firefox2-ext-fireftp"
         name="firefox extension fireftp"
         revision="4"
         reboot="false"
         priority="99">
        <depends package-id="firefox20" />
        <check type="file" condition="exists" path="%programfiles%\mozilla firefox\extensions\{a7c6cf7f-112c-4500-a7ea-39801a327e5f}\chrome\fireftp.jar" />

	<variable name='fxext' value='FireFtp_0.97.1.1_fx_de-DE.xpi'/>

	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<install cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<install cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<install cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<install cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </install>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <upgrade cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{a7c6cf7f-112c-4500-a7ea-39801a327e5f}"' />
	<upgrade cmd='cmd /C copy /Y "%SOFTWARE%\packages\mozilla\fx_extensions\%FXEXT%" c:\NETINST' />
	<upgrade cmd='"%PROGRAMFILES%\Mozilla Firefox\firefox.exe" -install-global-extension c:\NETINST\%FXEXT%' />
	<upgrade cmd='cmd /C del /q c:\NETINST\%FXEXT%'/>
	<upgrade cmd='%SOFTWARE%\tools\pskill.exe firefox.exe'>
            <exit code="-1" />
        </upgrade>
        <remove cmd='cmd /c del /q /s "%programfiles%\Mozilla Firefox\extensions\{a7c6cf7f-112c-4500-a7ea-39801a327e5f}"' />
     </package>
  </packages>


New limitations on -install-global-extension parameter in version 2.0.0.7

Be aware that, for security reasons, Mozilla Firefox 2.0.0.7 will no more accept to install global extensions or global themes from HTTP or UNC paths via the -install-global-extension or the -install-global-theme command line parameters:

http://larholm.com/2007/09/

You must copy your XPI on local drive before install this. (for example)

 
<install cmd='cmd /C copy /Y "%SOFTWARE%\mozilla\fx_extensions\firebug-1.05-fx+fl.xpi" c:\NETINST' />
<install cmd='"%PROGRAMFILES%\Mozilla Firefox\FIREFOX.EXE" -install-global-extension c:\NETINST\firebug-1.05-fx+fl.xpi' />
<install cmd='cmd /C del /q /s c:\NETINST\firebug-1.05-fx+fl.xpi'/>

Locking user preferences / Firefox settings for all users (like proxy etc.)

Add this to the end of all.js file (you will find this file in "%ProgramFiles%\Mozilla Firefox\greprefs\"):

 pref("general.config.filename", "mozilla.cfg");

NOTE: all.js file will be overwritten whenever you make Firefox update - don't forget to re-add the above line to all.js after you upgrade Firefox.

Then, create a file called mozilla.txt (yes, mozilla.txt, not mozilla.cfg), and put your custom settings there (NOTE: this file has to begin with //, as the first line of this config file seem to be ignored):

//
lockPref("network.proxy.backup.ftp", "your.proxy");
lockPref("network.proxy.backup.ftp_port", 3128);
lockPref("network.proxy.backup.gopher", "your.proxy");
lockPref("network.proxy.backup.gopher_port", 3128);
lockPref("network.proxy.backup.socks", "your.proxy");
lockPref("network.proxy.backup.socks_port", 3128);
lockPref("network.proxy.backup.ssl", "your.proxy");
lockPref("network.proxy.backup.ssl_port", 3128);
lockPref("network.proxy.ftp", "your.proxy");
lockPref("network.proxy.ftp_port", 3128);
lockPref("network.proxy.gopher", "your.proxy");
lockPref("network.proxy.gopher_port", 3128);
lockPref("network.proxy.http", "your.proxy");
lockPref("network.proxy.http_port", 3128);

lockPref("network.proxy.no_proxies_on", "192.168.*,localhost,127.0.0.1, glpi, glpi.your.domain");

lockPref("network.proxy.share_proxy_settings", true);
lockPref("network.proxy.socks", "your.proxy");
lockPref("network.proxy.socks_port", 3128);
lockPref("network.proxy.ssl", "your.proxy");
lockPref("network.proxy.ssl_port", 3128);
lockPref("network.proxy.type", 1);

Next, convert this file into mozilla.cfg, and copy this file to "%PROGRAMFILES%\Mozilla Firefox". You can do conversion here:

http://www.alain.knaff.lu/%7Eaknaff/howto/MozillaCustomization/cgi/byteshf.cgi


If you don't care about encoding the mozilla.cfg file, append this config to all.js instead:

pref("general.config.obscure_value", 0);
pref("general.config.filename", "mozilla.cfg");

The file mozilla.cfg must be located in "%ProgramFiles%\Mozilla Firefox\".


You can find more details on locking preferences here:

http://kb.mozillazine.org/Locking_preferences

and here:

http://developer.mozilla.org/en/docs/Automatic_Mozilla_Configurator:Locked_config_settings:

Disabling auto update

If Firefox is started by a user without administrative powers, automatic Firefox update will fail - which is harmless, but can confuse some users. To disable Firefox auto updates, read locking user preferences above first - add this line to your mozilla.cfg file:

 lockPref("app.update.enabled", false);

Firefox Client Customization Kit

The Firefox Client Customization Kit makes it easy for administrators to customize Firefox with home page settings, proxies, extensions, etc. Also, you can lock preferences so that you users cannot change them.


Links

 * Automated deployment of Firefox with extensions, themes, and pre-configuration