Closed Bug 453797 Opened 11 years ago Closed 11 years ago

Port Bug 392303 (Simplify installer changes) to SeaMonkey installer

Categories

(SeaMonkey :: Installer, defect)

x86
Windows XP
defect
Not set

Tracking

(Not tracked)

RESOLVED FIXED
seamonkey2.0a2

People

(Reporter: mcsmurf, Assigned: mcsmurf)

References

Details

Attachments

(2 files, 8 obsolete files)

Bug 392303 introduced a few new macros (see http://hg.mozilla.org/mozilla-central/annotate/69d14bce003f/browser/installer/windows/nsis/installer.nsi#l101, changeset 6026) that can be used to clean up files on install/uninstall. We probably want to use a few of those to clean up files, for example to clean up the VirtualStore as we currently write the app-chrome.manifest file to it under Windows Vista.
Attached patch Patch (shell service) (obsolete) — Splinter Review
This changes the shell service code. Now the shell service code only checks if we are the default application and launches another application (helper.exe) created by the installer code to set SeaMonkey as default app. The installer part will be a separate patch. This is basically Bug 370571 ported to SeaMonkey (also see Bug 404609 for Thunderbird bug on that).
Basically it now checks all the registry keys which had USE_FOR_DEFAULT_TEST as flag to see if SeaMonkey is the default app for that app type. I changed the file handler bits a bit so it will also alert when the SeaMonkeyHTML or the SeaMonkeyEML HKCR key is gone.
Assignee: installer → bugzilla
Status: NEW → ASSIGNED
Attached patch Patch (installer) (obsolete) — Splinter Review
This one fixed all the installer code. It includes the fixes from Bug 392303 (Firefox)/Bug 404609 (Thunderbird). This adds the code for a helper application to set SeaMonkey as default application (to get this working properly on Windows Vista), adds file-in-use support to avoid some restarts (especially relevant for the MIME DLLs) and also includes a few other fixes like cleaning up the updates/ folder on uninstall. See Bug 404609 for all the details.
Blocks: 449423
Attached patch Patch (installer) (obsolete) — Splinter Review
Better patch. Includes fix from Bug 454032 and fixes a few minor bugs I noticed.
Attachment #344628 - Attachment is obsolete: true
Attached patch Patch (installer) (obsolete) — Splinter Review
Fixes a few minor bugs.
Attachment #344690 - Attachment is obsolete: true
Attached patch Patch (shell service) (obsolete) — Splinter Review
Attachment #344620 - Attachment is obsolete: true
Comment on attachment 344739 [details] [diff] [review]
Patch (shell service)

This patch moves the whole "Set As Default" logic to a helper application named helper.exe. This is needed for better Vista integration because the process might need elevation to set itself as default app and also installing as Standard User under Vista works better then. This one is created by the installer code, see the other patch for the code. All the settings with USE_FOR_DEFAULT_TEST flag were kept for the default app check. Exceptions are the check for the .eml file extension key, that one was added and also the SeaMonkeyCOMPOSE key was added for the default check (because we also check for the mailto: key, which refers to the SeaMonkeyCOMPOSE key as handler).
For setting the app as default it launches helper.exe with "/SetAsDefaultAppGlobal" or with "/SetAsDefaultAppUser" and appends "Browser", "Mail", "News" to the SetAsDefaultAppUser argument, depending on the user action (clicking the buttons in the pref pane, default app dialog and so on). The SetAsDefaultAppGlobal argument has no such options, it sets SeaMonkey as default for app types globally. Currently the set as global default app argument is only used in nsSetDefault.js, which (with this patch) is obsolete AFAIK, but I cannot find details on that.
Attachment #344739 - Flags: review?(neil)
Comment on attachment 344739 [details] [diff] [review]
Patch (shell service)

> static nsresult
>+OpenKeyForReading(HKEY aKeyRoot, const nsAString& aKeyName, HKEY* aKey)
Make this const PRUnichar* aKeyName and use .get() in the caller instead.
Attachment #344739 - Flags: review?(neil) → review+
Attached patch Patch (installer) (obsolete) — Splinter Review
Fixed another small bug.
Attachment #344738 - Attachment is obsolete: true
Attached patch Patch (shell service) (obsolete) — Splinter Review
Updated patch so that it applies on trunk again.
Attachment #344739 - Attachment is obsolete: true
Attachment #347048 - Flags: review+
Comment on attachment 347047 [details] [diff] [review]
Patch (installer)

This patch is ready for review. It implements the helper.exe app needed for setting SeaMonkey as default application under Windows. The section names are now generic vars for a more readable code. See the comments on the other (obsolete) patches for what patches from Firefox/Thunderbird installer are included in this patch. I tested many use cases of the installer under WinXP and Vista.
Attachment #347047 - Flags: review?(neil)
Blocks: 461501
Attached patch New patch (installer) (obsolete) — Splinter Review
This one also fixes Bug 461501. I changed the registry entries for the protocol/file handlers back to what SeaMonkey 1.x does: DDE only for the protocols, but not for the file extension handlers.
Attachment #347047 - Attachment is obsolete: true
Attachment #349505 - Flags: review?(neil)
Attachment #347047 - Flags: review?(neil)
I think we want this in for SM2.0a2
Flags: blocking-seamonkey2.0a2+
Comment on attachment 349505 [details] [diff] [review]
New patch (installer)

>+!define MinUnsupportedVer     "Microsoft Windows 2000"
Wouldn't it make more sense to name this "MinSupportedVer"?

>+      Rename "$INSTDIR\helper.exe" "$INSTDIR\${FileMainEXE}"
>+
>+    ${EndUnless}
Nit: blank line

>+  Quit
>+  ${If} ${FileExists} "$INSTDIR\${FileMainEXE}"
Nit: no blank line!

>+  ; An empty string is used for the 4th & 5th params because the following
>+  ; protocol handler already have a display name and additional keys required
>+  ; for a protocol handler.
Nit: already has a display name

>+  ; If the IconsVisible name vale pair doesn't exist add it otherwise the
name value pair, perhaps?
Attachment #349505 - Flags: review?(neil) → review+
Attachment #349505 - Attachment is obsolete: true
Attachment #350730 - Flags: review+
Attachment #347048 - Attachment is obsolete: true
Attachment #350731 - Flags: review+
Checked in with changeset 963289aacfa3 (installer) and 28df2a677d26 (shell service). Yay :)
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → seamonkey2.0a2
Blocks: 449426, 452928
No longer blocks: 449423
Depends on: 392303, 370571, 404609, 454032, 398036
Duplicate of this bug: 449423
You need to log in before you can comment on or make changes to this bug.