[wpkg-users] Firefox 3.6
Malte Starostik
malte at malte.homeip.net
Thu Jul 22 20:32:15 CEST 2010
Am Donnerstag, 22. Juli 2010, 18:50:37 schrieb Donny Brooks:
> I am looking at deploying firefox to our users but have a few specific
> requirements I hope someone can point me in the right direction on.
>
> First off I need firefox to NOT check for updates since our users cannot
> install/upgrade software. Our current installs of seamonkey and acrobat
> drive me batty when people start sending helpdesk requests because those
> programs are trying to update before I can push out the updates via wpkg.
>
> Secondly, I need to be able to set the homepage on the firefox browser.
>
> Third, I need to know if anyone else has disabled Internet Explorer
> using WPKG. I know how to remove access to it in Vista using the program
> access and defaults, but not sure how to do it with wpkg or if it is
> even possible. I have searched for a registry entry to do this but to no
> avail.
Here's my Firefox package:
<package id="web/firefox" name="Mozilla Firefox" revision="3.6.7">
<check type="uninstall" condition="versiongreaterorequal" path="Mozilla
Firefox \(3\.6(?:\.[0-9]+)?\)" value="3.6.7 (de)"/>
<check type="file" condition="exists" path="%ProgramFiles%\Mozilla
Firefox\defaults\pref\local.js"/>
<check type="file" condition="exists" path="%ProgramFiles%\Mozilla
Firefox\local.properties"/>
<check type="file" condition="exists" path="%ProgramFiles%\Mozilla
Firefox\mozilla.cfg"/>
<check type="file" condition="exists" path="%ProgramFiles%\Mozilla
Firefox\override.ini"/>
<install cmd="taskkill /f /im firefox.exe"><exit code="128"/></install>
<!-- Should be /S instead of -ms sein, but that's currently broken. Change
to /S as soon as possible, as -ms is deprecated -->
<install cmd=""%SOFTWARE%\web\firefox\Firefox Setup 3.6.7.exe" -
ms"/>
<!-- Set as global default browser -->
<install cmd=""%ProgramFiles%\Mozilla
Firefox\uninstall\helper.exe" /SetAsDefaultAppGlobal"><exit
code="2"/></install>
<!-- Don't run the migration assistant -->
<install cmd="%COMSPEC% /c copy /y %SOFTWARE%\web\firefox\override.ini
"%ProgramFiles%\Mozilla Firefox\""/>
<!-- Settings -->
<install cmd="%COMSPEC% /c copy /y %SOFTWARE%\web\firefox\local.js "
%ProgramFiles%\Mozilla Firefox\defaults\pref\""/>
<install cmd="%COMSPEC% /c copy /y %SOFTWARE%\web\firefox\local.properties
"%ProgramFiles%\Mozilla Firefox\""/>
<install cmd="%COMSPEC% /c copy /y %SOFTWARE%\web\firefox\mozilla.cfg
"%ProgramFiles%\Mozilla Firefox\""/>
<!-- upgrade commands same as for install, snipped here for brevity -->
<remove cmd="taskkill /f /im firefox.exe"><exit code="128"/></remove>
<remove cmd="%COMSPEC% /c del "%ProgramFiles%\Mozilla
Firefox\mozilla.cfg""/>
<remove cmd="%COMSPEC% /c del "%ProgramFiles%\Mozilla
Firefox\local.properties""/>
<remove cmd="%COMSPEC% /c del "%ProgramFiles%\Mozilla
Firefox\defaults\pref\local.js""/>
<remove cmd="%COMSPEC% /c del "%ProgramFiles%\Mozilla
Firefox\override.ini""/>
<remove cmd=""%ProgramFiles%\Mozilla
Firefox\uninstall\helper.exe" /S"/>
</package>
override.ini prevents the migration assistant from running:
-----begin override.ini-----
[XRE]
EnableProfileMigrator=0
-----end override.ini-----
local.js enables administrative settings in mozilla.cfg
-----begin local.js-----
pref("general.config.filename", "mozilla.cfg");
-----end local.js-----
mozilla.txt:
-----begin mozilla.txt-----
// Use home page as startup page
defaultPref("browser.startup.page", 1);
// Use the home page as defined in local.properties. A plain URL will not
work!
defaultPref("browser.startup.homepage", "resource:/local.properties");
// Disable automatic updates
lockPref("app.update.enabled", false);
// Suppress the "Welcome to Firefox/Firefox has been updated" page
lockPref("browser.startup.homepage_override.mstone", "ignore");
// Force proxy auto-detection
lockPref("network.proxy.type", 4);
-----end mozilla.txt-----
Actually mozilla.txt is alot longer, it reads the user's domain group
memberships from the registry and doesn't lock the proxy setting for some
groups. Plus it contains some code to suppress the extension update
notification for administratively installed extension and cares for
extensions' default settings.
local.properties defines the home page URL:
-----begin local.properties-----
browser.startup.homepage=http://www.example.com/
-----end local.properties-----
mozilla.cfg as referenced by the package is an obfuscated version of
mozilla.txt generated by this Makefile (needs perl and make, but there are
online converters as well):
-----begin Makefile-----
# Obfuscate mozilla.txt
mozilla.cfg: mozilla.txt
perl -pi -e '$$_ = pack("C*", map { ($$_ + 13) % 0xff } unpack("C*",
$$_));' < $< > $@
-----end Makefile-----
Regards,
Malte
PS: all of the above have been edited slightly for this mail, so there's no
guarantee as to its correctness
More information about the wpkg-users
mailing list