Closed Bug 356740 Opened 19 years ago Closed 18 years ago

NSIS installer should remove all obsolete files during installation

Categories

(Calendar :: Sunbird Only, defect)

Sunbird 0.3
x86
Windows 2000
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: ssitter, Assigned: ssitter)

Details

(Whiteboard: [verified0.3.1])

Attachments

(1 file, 1 obsolete file)

Follow up for Bug 355225. Win32 NSIS installer should remove the following obsolete files that are leftovers from previous installation to prevent problems: Leftovers from Sunbird 0.2 installation ======================================= chrome/calendar-ca-AD.jar chrome/calendar-cs-CZ.jar chrome/calendar-cy-GB.jar chrome/calendar-de-AT.jar chrome/calendar-es-ES.jar chrome/calendar-fr-FR.jar chrome/calendar-hu-HU.jar chrome/calendar-it-IT.jar chrome/calendar-ja-JP.jar chrome/calendar-lt-LT.jar chrome/calendar-nl-NL.jar chrome/calendar-pl-PL.jar chrome/calendar-pt-BR.jar chrome/calendar-sk-SK.jar chrome/calendar-sl-SI.jar chrome/calendar-sv-SE.jar chrome/calendar-tr-TR.jar chrome/calendar-wen-DE.jar chrome/help.jar chrome/pipnss.jar components/browser.xpt defaults/profile/mimeTypes.rdf extensions/{8af2d0a7-e394-4de2-ae55-2dae532a7a9b}/install.rdf extensions/Extensions.rdf extensions/installed-extensions-processed.txt plugins/ res/builtin/platformHTMLBindings.xml res/platform-forms.css xpcom_compat.dll Leftovers from Sunbird 0.3a1/0.3a2 installation =============================================== chrome/chromelist.txt components/necko_data.xpt components/xmlextras.xpt plugins/npnul32.dll res/dtd/mathml.dtd res/dtd/mathml20.properties res/fonts/mathfont.properties res/fonts/mathfontCMEX10.properties res/fonts/mathfontCMSY10.properties res/fonts/mathfontMath1.properties res/fonts/mathfontMath2.properties res/fonts/mathfontMath4.properties res/fonts/mathfontMTExtra.properties res/fonts/mathfontPUA.properties res/fonts/mathfontSymbol.properties res/bloatcycle.html res/EditorOverride.css res/entityTables res/grabber.gif res/mathml.css res/table-add-column-after-active.gif res/table-add-column-after-hover.gif res/table-add-column-after.gif res/table-add-column-before-active.gif res/table-add-column-before-hover.gif res/table-add-column-before.gif res/table-add-row-after-active.gif res/table-add-row-after-hover.gif res/table-add-row-after.gif res/table-add-row-before-active.gif res/table-add-row-before-hover.gif res/table-add-row-before.gif res/table-remove-column-active.gif res/table-remove-column-hover.gif res/table-remove-column.gif res/table-remove-row-active.gif res/table-remove-row-hover.gif res/table-remove-row.gif res/viewer.properties dependentlibs.list mozctl.dll mozctlx.dll regxpcom.exe sunbird.url unins000.dat unins000.exe xpcom_compat.dll xpcshell.exe xpidl.exe xpt_dump.exe xpt_link.exe
From the Linux xpinstall installers, I suspect there will also be lib*.so versions of the .dlls and versions of the .exes without .exe Oh the fun.
Clean out all obsolete files from old win32 installer versions. Tested with 0.2, 0.3a1 and 0.3a2 en-US installer from [http://ftp.mozilla.org/pub/mozilla.org/calendar/sunbird/releases/] on Windows 2000 system.
Attachment #242340 - Flags: second-review?(dmose)
Attachment #242340 - Flags: first-review?(lilmatt)
Comment on attachment 242340 [details] [diff] [review] clean out obsolete files from old installer >Index: mozilla/calendar/installer/removed-files.in >=================================================================== >+chrome/overlayinfo/browser/content/overlays.rdf >+chrome/overlayinfo/browser/content/ >+chrome/overlayinfo/browser/skin/stylesheets.rdf >+chrome/overlayinfo/browser/skin/ >+chrome/overlayinfo/browser/ >+chrome/overlayinfo/communicator/content/overlays.rdf >+chrome/overlayinfo/communicator/content/ >+chrome/overlayinfo/communicator/ >+chrome/overlayinfo/global/skin/stylesheets.rdf >+chrome/overlayinfo/global/skin/ >+chrome/overlayinfo/global/ >+chrome/overlayinfo/messenger/content/overlays.rdf >+chrome/overlayinfo/messenger/content/ >+chrome/overlayinfo/messenger/ >+chrome/overlayinfo/navigator/content/overlays.rdf >+chrome/overlayinfo/navigator/content/ >+chrome/overlayinfo/navigator/ >+chrome/overlayinfo/ Let's use chrome/overlayinfo/* chrome/overlayinfo/ instead. >+extensions/{8af2d0a7-e394-4de2-ae55-2dae532a7a9b}/install.rdf >+extensions/{8af2d0a7-e394-4de2-ae55-2dae532a7a9b}/ Same here. >+res/builtin/platformHTMLBindings.xml >+res/builtin/ and here. >+plugins/npnul32.dll >+plugins/ and here. >+res/entityTables/mathml20.properties >+res/entityTables/ and here. r=lilmatt with that
Attachment #242340 - Flags: first-review?(lilmatt) → first-review+
(In reply to comment #3) I think we should not use xyz/* here. Reason is that this will remove _all_ files in that directory and not only the files we know that can be removed safely. There might be other created files, files from extensions or plugins, data files the user decided to store in Sunbird program folder (for whatever reason), ...
(In reply to comment #4) > I think we should not use xyz/* here. Reason is that this will remove _all_ > files in that directory and not only the files we know that can be removed > safely. Okay, but you're deleting the directory in the last line of each of those sections, and IIRC deleting the directory _WILL_ delete its contents (aka rm -rf).
(In reply to comment #5) I thought the installer was smart enough not to delete folders that still contain files. Apparently I'm wrong. So in that case we could either remove only the files in question and leave behind empty folders. On the other hand do Firefox and Thunderbird a similar think, e.g. they list only 'chrome/overlayinfo/' in their 'removed-files.in' file. Or they explicit list the file to remove and than the folder. (Like in my patch). But none of them uses '*'.
(In reply to comment #6) > I thought the installer was smart enough not to delete folders that still > contain files. Apparently I'm wrong. http://lxr.mozilla.org/mozilla/source/calendar/installer/windows/nsis/installer.nsi#563 > On the other hand do Firefox and Thunderbird a similar think, e.g. they list > only 'chrome/overlayinfo/' in their 'removed-files.in' file. I'd follow their lead.
Patch addresses some of the previous comments to shorten the patch. For example I did not replaced single file names with * so that it is easier to see/find what specific files are meant to be removed if someone works this file later. The rest was updated to match the 'style' already used by Firefox and Thunderbird.
Attachment #242340 - Attachment is obsolete: true
Attachment #245014 - Flags: first-review?(lilmatt)
Attachment #242340 - Flags: second-review?(dmose)
Comment on attachment 245014 [details] [diff] [review] clean out obsolete files from old installer, v2 r=lilmatt
Attachment #245014 - Flags: first-review?(lilmatt) → first-review+
Attachment #245014 - Flags: second-review?(mvl)
Comment on attachment 245014 [details] [diff] [review] clean out obsolete files from old installer, v2 r2=mvl
Attachment #245014 - Flags: second-review?(mvl) → second-review+
Patch checked in on MOZILLA_1_8_BRANCH and trunk. -> FIXED
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Flags: blocking-calendar0.3.1?
Flags: blocking-calendar0.3.1? → blocking-calendar0.3.1+
Patch checked in for 0.3.1 LIGHTNING_0_3_BRANCH: Checking in removed-files.in; /cvsroot/mozilla/calendar/installer/removed-files.in,v <-- removed-files.in new revision: 1.1.2.3.2.1; previous revision: 1.1.2.3 SUNBIRD_0_3_BRANCH: Checking in removed-files.in; /cvsroot/mozilla/calendar/installer/removed-files.in,v <-- removed-files.in new revision: 1.3.2.3; previous revision: 1.3.2.2 Marking [fixed0.3.1]
Whiteboard: [fixed0.3.1]
Verified that Sunbird starts up after installing new Sunbird version over previous version. Tested update from 0.2/0.3a1/0.3a2/0.3 to 0.3.1 for both en and de locale, update from 0.2/0.3.1 to 0.4a1 (branch) for en locale. Marking [verified0.3.1].
Status: RESOLVED → VERIFIED
Whiteboard: [fixed0.3.1] → [verified0.3.1]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: