Closed Bug 662677 Opened 14 years ago Closed 14 years ago

Documentation for 'Manually Installing a MAR file' Requires Update

Categories

(Websites :: wiki.mozilla.org, defect)

x86
Windows XP
defect
Not set
major

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: david, Unassigned)

References

()

Details

Attachments

(3 files, 1 obsolete file)

For updating SeaMonkey 2.0.x and Thunderbird 3.1.x incrementally from partial .mar files, the cited page worked. I was even able to create DOS (yes DOS) scripts to perform most of the operations. Using those scripts, I was able to download the .mar files and update the appropriate applications. However, I am unable to update SeaMonkey 2.1RC1 to SeaMonkey 2.1RC2 using the seamonkey-2.1rc1-2.1rc2.partial.mar file that I downloaded. Something has changed in Toolkit/Application Update that requires a modification to "Software Update:Manually Installing a MAR file". See WontFix bug #340330 for details as to why I download .mar files and attempt to use them locally. Attached is the script I use for SeaMonkey. Since I have not recently tried updating Thunderbird, I am not including that script.
The instruction list that I created for using the script are: Updating SeaMonkey from a .mar File 1. Copy the .mar file to <C:\WINDOWS\Temp\installs>. 2. Rename the file as update.mar. 3. Run the appropriate .bat file: Thunderbird.bat or SeaMonkey.bat
This attachment is the entire DOS Command Prompt window when I tried to use my script to update SeaMonkey 2.1RC1.
FWIW, there were two builds of 2.1rc1, with buildIDs of 20110508221558 and 20110511131432. If you have the former then it's expected the partial will fail. You can use navigator.buildID in the Error Console to find it out.
I have 20110511131432.
Attach the update.log from the failed update.
If you look at my attachment "Results of using script", you will see that no update.log file was generated.
Caused by bug 600777... I'll update the wiki The new command line args are: updater update-dir apply-to-dir [wait-pid [callback-working-dir callback-path args...] where apply-to-dir is the application's installation directory.
Summary: "Manually Installing a MAR file" Requires Update → Documentation for 'Manually Installing a MAR file' Requires Update
Attachment #537900 - Attachment is obsolete: true
When I used my revised script per comment #7, the result was "failed: 6". This time, however, an update.log file was generated and is attached to this bug report. I still have build 20110511131432.
Either the install directory was changed or the Seamonkey mar file was generated incorrectly. EXECUTE PATCH distribution/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}.xpi unable to open destination file: distribution/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}.xpi, err: 2
I have SeaMonkey installed in a non-default directory: C:\SeaMonkey2 instead of a directory in C:\Program Files. But my script specifies C:\SeaMonkey2. Is it possible the the update function does not work with non-default directories? I downloaded seamonkey-2.1rc1-2.1rc2.partial.mar via FTP from <releases.mozilla.org/pub/mozilla.org/seamonkey/releases/2.1rc2/update/win32/en-US>. Unlike formal end-user releases of partial .mar files for SeaMonkey 2.0.x, there were no MD5 or SHA1 hashes for this partial .mar file. Thus, I cannot check the validity of the file. However, a fresh download within the past 5 minutes had the same SHA1 hash as the file I downloaded 3 days ago and tried to install today.
(In reply to comment #11) > I have SeaMonkey installed in a non-default directory: C:\SeaMonkey2 > instead of a directory in C:\Program Files. But my script specifies > C:\SeaMonkey2. Is it possible the the update function does not work with > non-default directories? No. The updater works with relative dirs and the log clearly states that the file was not found.
It is possible that Seamonkey has made the items optional in the installer and you chose not to install them or you removed them. Either of those two things could cause this and would be a bug in Seamonkey's installer. Seamonkey could also make items in the distribution directory optional when generating the mar file. Updated the wiki.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Also, if they only patch if the file is present the file will reappear when installing a complete mar.
(In reply to comment #13) > It is possible that Seamonkey has made the items optional in the installer > and you chose not to install them or you removed them. Either of those two > things could cause this and would be a bug in Seamonkey's installer. > Seamonkey could also make items in the distribution directory optional when > generating the mar file. The MARs support optional stuff? 1) That's new to me, 2) I didn't ever see tooling about it. And yes, the installer has those extensions set as optional. In any case, that warrants a followup bug on the SeaMonkey installer (and any pointer on how the folks there could solve this would be appreciated).
See the following for add-if http://mxr.mozilla.org/mozilla-central/source/tools/update-packaging/make_incremental_updates.py#45 and the following for patch-if http://mxr.mozilla.org/mozilla-central/source/tools/update-packaging/make_incremental_updates.py#66 There is no good way to solve this using the updater since the complete will just add it back. Extensions installed under the distributions dir are installed into the profile and the user can uninstall them from there so one option would be to make them no longer optional.
You could add one-off patch-if and add-if for Seamonkey the files you care about as well.
(In reply to comment #17) > You could add one-off patch-if and add-if for Seamonkey the files you care > about as well. The issue for us on these -if, is that we (sadly) can't easily do this for our distribution/ move, since we care: IF |existists in loc A| || |exists in Loc B| { install/patch in loc B } THEN { ENSURE LOC A removed } nthomas at least expressed a distaste for that solution [install/patch a file based on the existence of another dir/file]. (our end-result will be to modify how we do the installer, to either not make them optional, or to make the optional setup disable them in user profile, but still "install" them, depending on how hard that latter is)
I don't think |patch-if test-file file| is an option to you, because you'd need that functionality in the old releases, even supposing the risk from adding it was acceptable.
I was by no means suggesting that the patch-if / add-if approach is the best... I was just throwing it out there. As for patch-if and older releases, it just wouldn't patch the file since it doesn't exist in the older release. The cleaner solution all around is to modify the installer.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: