Software Update:Manually Installing a MAR file: Difference between revisions
No edit summary |
m (grammar fix) |
||
(46 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
== IMPORTANT == | |||
Using this method is not officially supported. | |||
We strongly encourage users to stay up to date by installing the most recent version of Firefox and allowing it to update itself through the built-in mechanism. The built-in process does a number of important things including CPU, OS and other checks before proceeding. | |||
== Overview == | == Overview == | ||
This document explains how to manually apply a MAR file to an existing installation to update it. This is useful in case you wish to patch a Mozilla based application without running the application itself. The process requires at least a general knowledge of using a command shell and file system paths. These instructions apply to the following applications: | This document explains how to manually apply a MAR file to an existing installation to update it. This is useful in case you wish to patch a Mozilla based application without running the application itself. The process requires at least a general knowledge of using a command shell and file system paths. These instructions apply to the following applications though they can also be applied to other Mozilla based applications: | ||
* Firefox 3.0.x and above | * Firefox 3.0.x and above | ||
* SeaMonkey 2.0.x and above | * SeaMonkey 2.0.x and above | ||
* Thunderbird | * Thunderbird 2.0.x and above | ||
== | == Where to get a mar file == | ||
Below are examples of where localized mar files for Linux, Mac OS X, and Windows can be downloaded from. | Below are examples of where localized mar files for Linux, Mac OS X, and Windows can be downloaded from. You will need to navigate to the version directory, to the updates directory, and then to the platform directory for the mar file that you want to apply. | ||
* Firefox | * Firefox (including ESR) http://archive.mozilla.org/pub/firefox/releases/ | ||
* SeaMonkey | * SeaMonkey http://releases.mozilla.org/pub/mozilla.org/seamonkey/releases/ | ||
* Thunderbird | * Thunderbird (including ESR) http://archive.mozilla.org/pub/thunderbird/releases/ | ||
== Installing from the command line == | == Installing from the command line == | ||
'''Important:''' | '''Important:''' | ||
* Changes made to all applications in version 56.0 require updating or installing version 56.0 of the application before updating to a newer version. | |||
* The user account used to perform the update '''MUST''' have the appropriate permissions (e.g. Full Control on Windows, write, read, and execute on Linux and Mac OS X, etc.) on the application's installation directory that is being updated and on the '''outside''' directory defined below. | * The user account used to perform the update '''MUST''' have the appropriate permissions (e.g. Full Control on Windows, write, read, and execute on Linux and Mac OS X, etc.) on the application's installation directory that is being updated and on the '''outside''' directory defined below. | ||
* If you are updating an application on Windows Vista or greater with UAC enabled then you may need to launch cmd.exe with "Run as administrator" (available in the context menu when right clicking cmd.exe) as well. | * If you are updating an application on Windows Vista or greater with UAC enabled then you may need to launch cmd.exe with "Run as administrator" (available in the context menu when right clicking cmd.exe) as well. | ||
* Paths containing spaces passed to the updater '''MUST''' be quoted (e.g. "C:\Program Files\temp\"). | * All paths '''MUST''' be full paths using the platform convention. | ||
* All paths '''MUST''' not contain traversal directives in the path. | |||
* Paths containing spaces passed to the updater '''MUST''' be quoted (e.g. "C:\Program Files\temp"). If you quote a path to a directory and include the trailing \ you must escape the \ with a \ so the " isn't escaped (e.g. "C:\Program Files\temp\\"). | |||
* To use a partial mar file you '''MUST''' be updating the build it was created from (e.g. for Firefox firefox-3.5.6-3.5.7.partial.mar can only update Firefox 3.5.6). | * To use a partial mar file you '''MUST''' be updating the build it was created from (e.g. for Firefox firefox-3.5.6-3.5.7.partial.mar can only update Firefox 3.5.6). | ||
* Windows does not always expand environment variables that represent paths so if you have problems using environment variables switch to using paths. | * Windows does not always expand environment variables that represent paths so if you have problems using environment variables switch to using paths. | ||
=== Steps for Windows === | === Steps for Windows === | ||
# Create a directory '''outside''' of the application's installation directory to be updated (e.g. C:\app-update\). This directory will be referred to as the '''outside''' directory throughout the instructions below so please make a note of its location. Grant the user account you are using Full Control permissions on this directory if it doesn't have these permission already. | # Create a directory '''outside''' of the application's installation directory to be updated (e.g. <code>C:\app-update\</code>). This directory will be referred to as the '''outside''' directory throughout the instructions below so please make a note of its location. Grant the user account you are using Full Control permissions on this directory if it doesn't have these permission already. | ||
# Copy <code>updater.exe</code> from the application's installation directory that is to be upgraded into the '''outside''' directory. If you would like to display the updater user interface while it is applying the update also copy the <code>updater.ini</code> into the '''outside''' directory. | # Copy <code>updater.exe</code> from the application's installation directory that is to be upgraded into the '''outside''' directory. If you would like to display the updater user interface while it is applying the update also copy the <code>updater.ini</code> into the '''outside''' directory. | ||
# Download the appropriate .mar file and put it into the '''outside''' directory you created (see [[Software_Update:Manually_Installing_a_MAR_file# | # Download the appropriate .mar file and put it into the '''outside''' directory you created (see [[Software_Update:Manually_Installing_a_MAR_file#Where_to_get_a_mar_file|Where to get a mar file]]). | ||
# Rename the mar file you downloaded to update.mar. | # Rename the mar file you downloaded to update.mar. | ||
# Open a command prompt by running cmd.exe. On Windows Vista or greater you may need to launch cmd.exe with "Run as administrator" (available in the context menu when right clicking cmd.exe). | # Open a command prompt by running cmd.exe. On Windows Vista or greater you may need to launch cmd.exe with "Run as administrator" (available in the context menu when right clicking cmd.exe). | ||
# Change the working directory to the application's installation directory by using the cd command (e.g. for Firefox <code>cd "C:\Program Files\Mozilla Firefox"</code>). '''Important:''' running the update from within another directory will fail. | # Change the working directory to the application's installation directory by using the cd command (e.g. for Firefox <code>cd "C:\Program Files\Mozilla Firefox"</code> or <code>cd "C:\Program Files (x86)\Mozilla Firefox"</code>). '''Important:''' running the update from within another directory will fail to update the existing installation properly with Firefox 3.6.x and below, SeaMonkey 2.0.x and below, and Thunderbird 3.1.x and below. | ||
# Close all instances of the application that are running on the system including those being used by other users before going any further. '''Important:''' not doing so will cause the update to fail. | # Close all instances of the application that are running on the system including those being used by other users before going any further. '''Important:''' not doing so will cause the update to fail. | ||
# For Firefox | # For Firefox 34.x and above, SeaMonkey 2.31.x and above, or Thunderbird 34.x and above run the following from the command prompt. The additional <code><path to installation directory></code> is used by applications for update staging and when manually applying a mar the value for this command line parameter must be the path to the installation directory.<br><pre style="white-space: pre-wrap; | ||
white-space: -moz-pre-wrap; | |||
white-space: -pre-wrap; | |||
white-space: -o-pre-wrap; | |||
word-wrap: break-word;"><path to outside directory>\updater.exe <path to outside directory> <path to installation directory> <path to installation directory></pre><br>For Firefox 4.x through 33.x, SeaMonkey 2.1.x through 2.31.x, or Thunderbird 5.x through 33.x run the following from the command prompt<br><pre style="white-space: pre-wrap; | |||
white-space: -moz-pre-wrap; | |||
white-space: -pre-wrap; | |||
white-space: -o-pre-wrap; | |||
word-wrap: break-word;"><path to outside directory>\updater.exe <path to outside directory> <path to installation directory></pre><br>For Firefox 3.5.x and 3.6.x, SeaMonkey 2.0.x, or Thunderbird 3.0.x and 3.1.x run the following from the command prompt<br><pre style="white-space: pre-wrap; | |||
white-space: -moz-pre-wrap; | |||
white-space: -pre-wrap; | |||
white-space: -o-pre-wrap; | |||
word-wrap: break-word;"><path to outside directory>\updater.exe <path to outside directory>\</pre><br>For Firefox 3.0.x or Thunderbird 2.0.x run the following from the command prompt<br><pre style="white-space: pre-wrap; | |||
white-space: -moz-pre-wrap; | |||
white-space: -pre-wrap; | |||
white-space: -o-pre-wrap; | |||
word-wrap: break-word;"><path to outside directory>\updater.exe <path to outside directory>\ 0</pre>'''Note:''' The "0" parameter passed on the command line specifies the PID of a process to wait on before applying the update. When applying updates manually this should be 0 to disable the wait step. | |||
# After the update has completed a file named <code>update.status</code> will be created in the '''outside''' directory. Open the <code>update.status</code> status file in an editor (e.g. notepad.exe). If the update is successful then the file will contain the text "succeeded". If it does not contain the text "succeeded", then the <code>update.log</code> file may be consulted to diagnose at what step the update failed. A failed update should leave the original application's installation intact. '''DO NOT''' continue to the next section unless the update succeeded. | # After the update has completed a file named <code>update.status</code> will be created in the '''outside''' directory. Open the <code>update.status</code> status file in an editor (e.g. notepad.exe). If the update is successful then the file will contain the text "succeeded". If it does not contain the text "succeeded", then the <code>update.log</code> file may be consulted to diagnose at what step the update failed. A failed update should leave the original application's installation intact. '''DO NOT''' continue to the next section unless the update succeeded. | ||
# Copy the <code>update.log</code> to the <code>uninstall</code> directory inside of the application's installation directory. | # Copy the <code>update.log</code> to the <code>uninstall</code> directory inside of the application's installation directory. | ||
# Rename it to <code>uninstall.update</code>. | # Rename it to <code>uninstall.update</code>. | ||
# Run the following from the command prompt<pre>uninstall\helper.exe /PostUpdate</pre> | # Run the following from the command prompt<pre><path to installation directory>\uninstall\helper.exe /PostUpdate</pre> | ||
=== Steps for Mac OS X === | === Steps for Mac OS X === | ||
# Create a directory '''outside''' of the application's installation directory to be updated (e.g. /app-update/). This directory will be referred to as the '''outside''' directory throughout the instructions below so please make a note of its location. Grant the user account you are using write, read, and execute permissions on this directory if it doesn't have these permission already. | # Create a directory '''outside''' of the application's installation directory to be updated (e.g. <code>/app-update/</code>). This directory will be referred to as the '''outside''' directory throughout the instructions below so please make a note of its location. Grant the user account you are using write, read, and execute permissions on this directory if it doesn't have these permission already. | ||
# Copy <code>updater.app</code> from inside the application's package that is to be upgraded into the '''outside''' directory. For Firefox 3.5 and above, SeaMonkey 2.0 and above, | # Copy <code>updater.app</code> from inside the application's package that is to be upgraded into the '''outside''' directory. For Firefox 3.5 and above, SeaMonkey 2.0 and above, or Thunderbird 3.0 and above if you would like to display the updater user interface while it is applying the update also copy the <code>updater.ini</code> into the '''outside''' directory. The <code>updater.app</code> package and <code>updater.ini</code> file are located in the app bundle's Contents/MacOS/ directory (e.g. for Firefox it is located in <code>Firefox.app/Contents/MacOS/</code>). | ||
# Download the appropriate .mar file and put it into the '''outside''' directory you created (see [[Software_Update:Manually_Installing_a_MAR_file# | # Download the appropriate .mar file and put it into the '''outside''' directory you created (see [[Software_Update:Manually_Installing_a_MAR_file#Where_to_get_a_mar_file|Where to get a mar file]]). | ||
# Rename the mar file you downloaded to update.mar. | # Rename the mar file you downloaded to update.mar. | ||
# Open a Terminal and change the working directory to the application's package directory by using the cd command (e.g. for Firefox <code>cd /Applications/Firefox.app/</code>). '''Important:''' running the update from within another directory will fail to update the existing installation properly. | # Open a Terminal and change the working directory to the application's package directory by using the cd command (e.g. for Firefox <code>cd /Applications/Firefox.app/</code>). '''Important:''' running the update from within another directory will fail to update the existing installation properly with Firefox 3.6.x and below, SeaMonkey 2.0.x and below, and Thunderbird 3.1.x and below. | ||
# It is recommended that all instances of the application that are running on the system including those being used by other users are closed before going any further. '''Important:''' not doing so can cause the update to fail under some circumstances and it can definitely break a running instance of the application. | # It is recommended that all instances of the application that are running on the system including those being used by other users are closed before going any further. '''Important:''' not doing so can cause the update to fail under some circumstances and it can definitely break a running instance of the application. | ||
# For Firefox | # For Firefox 34.x and above, SeaMonkey 2.31.x and above, or Thunderbird 34.x and above run the following from the command prompt. The additional <code><path to installation directory></code> is used by applications for update staging and when manually applying a mar the value for this command line parameter must be the path to the installation directory.<br><pre style="white-space: pre-wrap; | ||
# After the update has completed a file named <code>update.status</code> will be created in the '''outside''' directory. Open the <code>update.status</code> status file in an editor (e.g. TextEdit). If the update is successful then the file will contain the text "succeeded". If it does not contain the text "succeeded", then the <code>update.log</code> file may be consulted to diagnose at what step the update failed. A failed update should leave the original | white-space: -moz-pre-wrap; | ||
white-space: -pre-wrap; | |||
white-space: -o-pre-wrap; | |||
word-wrap: break-word;"><path to outside directory>/updater.app/Contents/MacOS/updater <path to outside directory> <path to installation directory> <path to installation directory></pre><br>For Firefox 4.x through 33.x, SeaMonkey 2.1.x through 2.31.x, or Thunderbird 5.x through 33.x run the following from the command prompt<br><pre style="white-space: pre-wrap; | |||
white-space: -moz-pre-wrap; | |||
white-space: -pre-wrap; | |||
white-space: -o-pre-wrap; | |||
word-wrap: break-word;"><path to outside directory>/updater.app/Contents/MacOS/updater <path to outside directory> <path to installation directory></pre><br>For Firefox 3.5.x and 3.6.x, SeaMonkey 2.0.x, or Thunderbird 3.0.x and 3.1.x run the following from the Terminal<br><pre style="white-space: pre-wrap; | |||
white-space: -moz-pre-wrap; | |||
white-space: -pre-wrap; | |||
white-space: -o-pre-wrap; | |||
word-wrap: break-word;"><path to outside directory>/updater.app/Contents/MacOS/updater <path to outside directory>/</pre><br>For Firefox 3.0.x or Thunderbird 2.0.x run the following from the Terminal<br><pre style="white-space: pre-wrap; | |||
white-space: -moz-pre-wrap; | |||
white-space: -pre-wrap; | |||
white-space: -o-pre-wrap; | |||
word-wrap: break-word;"><path to outside directory>/updater.app/Contents/MacOS/updater <path to outside directory>/ 0</pre>'''Note:''' The "0" parameter passed on the command line specifies the PID of a process to wait on before applying the update. When applying updates manually this should be 0 to disable the wait step. | |||
# After the update has completed a file named <code>update.status</code> will be created in the '''outside''' directory. Open the <code>update.status</code> status file in an editor (e.g. TextEdit). If the update is successful then the file will contain the text "succeeded". If it does not contain the text "succeeded", then the <code>update.log</code> file may be consulted to diagnose at what step the update failed. A failed update should leave the original application's installation intact. | |||
=== Steps for Linux === | === Steps for Linux === | ||
# Create a directory '''outside''' of the | '''Important:''' this should work with all flavors of UNIX but the following steps have only been tested on Linux and Mozilla only distributes mar files for Linux. | ||
# Copy <code>updater</code> from the | # Create a directory '''outside''' of the application's installation directory to be updated (e.g. <code><path to outside directory>/</code>). This directory will be referred to as the '''outside''' directory throughout the instructions below so please make a note of its location. Grant the user account you are using write, read, and execute permissions on this directory if it doesn't have these permission already. | ||
# Download the appropriate .mar file and put it into the '''outside''' directory you created (see [[Software_Update:Manually_Installing_a_MAR_file# | # Copy <code>updater</code> from the application's installation directory that is to be upgraded into the '''outside''' directory. If you would like to display the updater user interface while it is applying the update also copy the <code>updater.ini</code> into the '''outside''' directory. | ||
# Download the appropriate .mar file and put it into the '''outside''' directory you created (see [[Software_Update:Manually_Installing_a_MAR_file#Where_to_get_a_mar_file|Where to get a mar file]]). | |||
# Rename the mar file you downloaded to update.mar. | # Rename the mar file you downloaded to update.mar. | ||
# Open a shell and change the working directory to the | # Open a shell and change the working directory to the application's installation directory by using the cd command. '''Important:''' running the update from within another directory will fail to update the existing installation properly with Firefox 3.6.x and below, SeaMonkey 2.0.x and below, and Thunderbird 3.1.x and below. | ||
# It is recommended that all instances of | # It is recommended that all instances of the application that are running on the system including those being used by other users are closed before going any further. '''Important:''' though this should never cause the update to fail there might be cases where it will and it can definitely break a running instance of the application. | ||
# For Firefox | # For Firefox 40.x and above run the following from the command prompt after adding the path to the existing installation directory to the '''LD_LIBRARY_PATH''' environment variable. The additional <code><path to installation directory></code> is used by applications for update staging and when manually applying a mar the value for this command line parameter must be the path to the installation directory.<br><pre style="white-space: pre-wrap; | ||
# After the update has completed a file named <code>update.status</code> will be created in the '''outside''' directory. Open the <code>update.status</code> status file in an editor (e.g. vi). If the update is successful then the file will contain the text "succeeded". If it does not contain the text "succeeded", then the <code>update.log</code> file may be consulted to diagnose at what step the update failed. A failed update should leave the original | white-space: -moz-pre-wrap; | ||
white-space: -pre-wrap; | |||
white-space: -o-pre-wrap; | |||
word-wrap: break-word;"><path to outside directory>/updater <path to outside directory> <path to installation directory> <path to installation directory></pre><br>For Firefox 34.x through 39.x, SeaMonkey 2.31.x and above, or Thunderbird 34.x and above run the following from the command prompt. The additional <code><path to installation directory></code> is used by applications for update staging and when manually applying a mar the value for this command line parameter must be the path to the installation directory.<br><pre style="white-space: pre-wrap; | |||
white-space: -moz-pre-wrap; | |||
white-space: -pre-wrap; | |||
white-space: -o-pre-wrap; | |||
word-wrap: break-word;"><path to outside directory>/updater <path to outside directory> <path to installation directory> <path to installation directory></pre><br>For Firefox 4.x through 33.x, SeaMonkey 2.1.x through 2.31.x, or Thunderbird 5.x through 33.x run the following from the command prompt<br><pre style="white-space: pre-wrap; | |||
white-space: -moz-pre-wrap; | |||
white-space: -pre-wrap; | |||
white-space: -o-pre-wrap; | |||
word-wrap: break-word;"><path to outside directory>/updater <path to outside directory> <path to installation directory></pre><br>For Firefox 3.5.x and 3.6.x, SeaMonkey 2.0.x, or Thunderbird 3.0.x and 3.1.x run the following from the shell<br><pre style="white-space: pre-wrap; | |||
white-space: -moz-pre-wrap; | |||
white-space: -pre-wrap; | |||
white-space: -o-pre-wrap; | |||
word-wrap: break-word;"><path to outside directory>/updater <path to outside directory>/</pre><br>For Firefox 3.0.x or Thunderbird 2.0.x run the following from the shell<br><pre style="white-space: pre-wrap; | |||
white-space: -moz-pre-wrap; | |||
white-space: -pre-wrap; | |||
white-space: -o-pre-wrap; | |||
word-wrap: break-word;"><path to outside directory>/updater <path to outside directory>/ 0</pre>'''Note:''' The "0" parameter passed on the command line specifies the PID of a process to wait on before applying the update. When applying updates manually this should be 0 to disable the wait step. | |||
# After the update has completed a file named <code>update.status</code> will be created in the '''outside''' directory. Open the <code>update.status</code> status file in an editor (e.g. vi). If the update is successful then the file will contain the text "succeeded". If it does not contain the text "succeeded", then the <code>update.log</code> file may be consulted to diagnose at what step the update failed. A failed update should leave the original application's installation intact. |
Latest revision as of 18:37, 11 October 2017
IMPORTANT
Using this method is not officially supported.
We strongly encourage users to stay up to date by installing the most recent version of Firefox and allowing it to update itself through the built-in mechanism. The built-in process does a number of important things including CPU, OS and other checks before proceeding.
Overview
This document explains how to manually apply a MAR file to an existing installation to update it. This is useful in case you wish to patch a Mozilla based application without running the application itself. The process requires at least a general knowledge of using a command shell and file system paths. These instructions apply to the following applications though they can also be applied to other Mozilla based applications:
- Firefox 3.0.x and above
- SeaMonkey 2.0.x and above
- Thunderbird 2.0.x and above
Where to get a mar file
Below are examples of where localized mar files for Linux, Mac OS X, and Windows can be downloaded from. You will need to navigate to the version directory, to the updates directory, and then to the platform directory for the mar file that you want to apply.
- Firefox (including ESR) http://archive.mozilla.org/pub/firefox/releases/
- SeaMonkey http://releases.mozilla.org/pub/mozilla.org/seamonkey/releases/
- Thunderbird (including ESR) http://archive.mozilla.org/pub/thunderbird/releases/
Installing from the command line
Important:
- Changes made to all applications in version 56.0 require updating or installing version 56.0 of the application before updating to a newer version.
- The user account used to perform the update MUST have the appropriate permissions (e.g. Full Control on Windows, write, read, and execute on Linux and Mac OS X, etc.) on the application's installation directory that is being updated and on the outside directory defined below.
- If you are updating an application on Windows Vista or greater with UAC enabled then you may need to launch cmd.exe with "Run as administrator" (available in the context menu when right clicking cmd.exe) as well.
- All paths MUST be full paths using the platform convention.
- All paths MUST not contain traversal directives in the path.
- Paths containing spaces passed to the updater MUST be quoted (e.g. "C:\Program Files\temp"). If you quote a path to a directory and include the trailing \ you must escape the \ with a \ so the " isn't escaped (e.g. "C:\Program Files\temp\\").
- To use a partial mar file you MUST be updating the build it was created from (e.g. for Firefox firefox-3.5.6-3.5.7.partial.mar can only update Firefox 3.5.6).
- Windows does not always expand environment variables that represent paths so if you have problems using environment variables switch to using paths.
Steps for Windows
- Create a directory outside of the application's installation directory to be updated (e.g.
C:\app-update\
). This directory will be referred to as the outside directory throughout the instructions below so please make a note of its location. Grant the user account you are using Full Control permissions on this directory if it doesn't have these permission already. - Copy
updater.exe
from the application's installation directory that is to be upgraded into the outside directory. If you would like to display the updater user interface while it is applying the update also copy theupdater.ini
into the outside directory. - Download the appropriate .mar file and put it into the outside directory you created (see Where to get a mar file).
- Rename the mar file you downloaded to update.mar.
- Open a command prompt by running cmd.exe. On Windows Vista or greater you may need to launch cmd.exe with "Run as administrator" (available in the context menu when right clicking cmd.exe).
- Change the working directory to the application's installation directory by using the cd command (e.g. for Firefox
cd "C:\Program Files\Mozilla Firefox"
orcd "C:\Program Files (x86)\Mozilla Firefox"
). Important: running the update from within another directory will fail to update the existing installation properly with Firefox 3.6.x and below, SeaMonkey 2.0.x and below, and Thunderbird 3.1.x and below. - Close all instances of the application that are running on the system including those being used by other users before going any further. Important: not doing so will cause the update to fail.
- For Firefox 34.x and above, SeaMonkey 2.31.x and above, or Thunderbird 34.x and above run the following from the command prompt. The additional
<path to installation directory>
is used by applications for update staging and when manually applying a mar the value for this command line parameter must be the path to the installation directory.<path to outside directory>\updater.exe <path to outside directory> <path to installation directory> <path to installation directory>
For Firefox 4.x through 33.x, SeaMonkey 2.1.x through 2.31.x, or Thunderbird 5.x through 33.x run the following from the command prompt<path to outside directory>\updater.exe <path to outside directory> <path to installation directory>
For Firefox 3.5.x and 3.6.x, SeaMonkey 2.0.x, or Thunderbird 3.0.x and 3.1.x run the following from the command prompt<path to outside directory>\updater.exe <path to outside directory>\
For Firefox 3.0.x or Thunderbird 2.0.x run the following from the command prompt<path to outside directory>\updater.exe <path to outside directory>\ 0
Note: The "0" parameter passed on the command line specifies the PID of a process to wait on before applying the update. When applying updates manually this should be 0 to disable the wait step. - After the update has completed a file named
update.status
will be created in the outside directory. Open theupdate.status
status file in an editor (e.g. notepad.exe). If the update is successful then the file will contain the text "succeeded". If it does not contain the text "succeeded", then theupdate.log
file may be consulted to diagnose at what step the update failed. A failed update should leave the original application's installation intact. DO NOT continue to the next section unless the update succeeded. - Copy the
update.log
to theuninstall
directory inside of the application's installation directory. - Rename it to
uninstall.update
. - Run the following from the command prompt
<path to installation directory>\uninstall\helper.exe /PostUpdate
Steps for Mac OS X
- Create a directory outside of the application's installation directory to be updated (e.g.
/app-update/
). This directory will be referred to as the outside directory throughout the instructions below so please make a note of its location. Grant the user account you are using write, read, and execute permissions on this directory if it doesn't have these permission already. - Copy
updater.app
from inside the application's package that is to be upgraded into the outside directory. For Firefox 3.5 and above, SeaMonkey 2.0 and above, or Thunderbird 3.0 and above if you would like to display the updater user interface while it is applying the update also copy theupdater.ini
into the outside directory. Theupdater.app
package andupdater.ini
file are located in the app bundle's Contents/MacOS/ directory (e.g. for Firefox it is located inFirefox.app/Contents/MacOS/
). - Download the appropriate .mar file and put it into the outside directory you created (see Where to get a mar file).
- Rename the mar file you downloaded to update.mar.
- Open a Terminal and change the working directory to the application's package directory by using the cd command (e.g. for Firefox
cd /Applications/Firefox.app/
). Important: running the update from within another directory will fail to update the existing installation properly with Firefox 3.6.x and below, SeaMonkey 2.0.x and below, and Thunderbird 3.1.x and below. - It is recommended that all instances of the application that are running on the system including those being used by other users are closed before going any further. Important: not doing so can cause the update to fail under some circumstances and it can definitely break a running instance of the application.
- For Firefox 34.x and above, SeaMonkey 2.31.x and above, or Thunderbird 34.x and above run the following from the command prompt. The additional
<path to installation directory>
is used by applications for update staging and when manually applying a mar the value for this command line parameter must be the path to the installation directory.<path to outside directory>/updater.app/Contents/MacOS/updater <path to outside directory> <path to installation directory> <path to installation directory>
For Firefox 4.x through 33.x, SeaMonkey 2.1.x through 2.31.x, or Thunderbird 5.x through 33.x run the following from the command prompt<path to outside directory>/updater.app/Contents/MacOS/updater <path to outside directory> <path to installation directory>
For Firefox 3.5.x and 3.6.x, SeaMonkey 2.0.x, or Thunderbird 3.0.x and 3.1.x run the following from the Terminal<path to outside directory>/updater.app/Contents/MacOS/updater <path to outside directory>/
For Firefox 3.0.x or Thunderbird 2.0.x run the following from the Terminal<path to outside directory>/updater.app/Contents/MacOS/updater <path to outside directory>/ 0
Note: The "0" parameter passed on the command line specifies the PID of a process to wait on before applying the update. When applying updates manually this should be 0 to disable the wait step. - After the update has completed a file named
update.status
will be created in the outside directory. Open theupdate.status
status file in an editor (e.g. TextEdit). If the update is successful then the file will contain the text "succeeded". If it does not contain the text "succeeded", then theupdate.log
file may be consulted to diagnose at what step the update failed. A failed update should leave the original application's installation intact.
Steps for Linux
Important: this should work with all flavors of UNIX but the following steps have only been tested on Linux and Mozilla only distributes mar files for Linux.
- Create a directory outside of the application's installation directory to be updated (e.g.
<path to outside directory>/
). This directory will be referred to as the outside directory throughout the instructions below so please make a note of its location. Grant the user account you are using write, read, and execute permissions on this directory if it doesn't have these permission already. - Copy
updater
from the application's installation directory that is to be upgraded into the outside directory. If you would like to display the updater user interface while it is applying the update also copy theupdater.ini
into the outside directory. - Download the appropriate .mar file and put it into the outside directory you created (see Where to get a mar file).
- Rename the mar file you downloaded to update.mar.
- Open a shell and change the working directory to the application's installation directory by using the cd command. Important: running the update from within another directory will fail to update the existing installation properly with Firefox 3.6.x and below, SeaMonkey 2.0.x and below, and Thunderbird 3.1.x and below.
- It is recommended that all instances of the application that are running on the system including those being used by other users are closed before going any further. Important: though this should never cause the update to fail there might be cases where it will and it can definitely break a running instance of the application.
- For Firefox 40.x and above run the following from the command prompt after adding the path to the existing installation directory to the LD_LIBRARY_PATH environment variable. The additional
<path to installation directory>
is used by applications for update staging and when manually applying a mar the value for this command line parameter must be the path to the installation directory.<path to outside directory>/updater <path to outside directory> <path to installation directory> <path to installation directory>
For Firefox 34.x through 39.x, SeaMonkey 2.31.x and above, or Thunderbird 34.x and above run the following from the command prompt. The additional<path to installation directory>
is used by applications for update staging and when manually applying a mar the value for this command line parameter must be the path to the installation directory.<path to outside directory>/updater <path to outside directory> <path to installation directory> <path to installation directory>
For Firefox 4.x through 33.x, SeaMonkey 2.1.x through 2.31.x, or Thunderbird 5.x through 33.x run the following from the command prompt<path to outside directory>/updater <path to outside directory> <path to installation directory>
For Firefox 3.5.x and 3.6.x, SeaMonkey 2.0.x, or Thunderbird 3.0.x and 3.1.x run the following from the shell<path to outside directory>/updater <path to outside directory>/
For Firefox 3.0.x or Thunderbird 2.0.x run the following from the shell<path to outside directory>/updater <path to outside directory>/ 0
Note: The "0" parameter passed on the command line specifies the PID of a process to wait on before applying the update. When applying updates manually this should be 0 to disable the wait step. - After the update has completed a file named
update.status
will be created in the outside directory. Open theupdate.status
status file in an editor (e.g. vi). If the update is successful then the file will contain the text "succeeded". If it does not contain the text "succeeded", then theupdate.log
file may be consulted to diagnose at what step the update failed. A failed update should leave the original application's installation intact.