Closed
Bug 800112
Opened 12 years ago
Closed 12 years ago
If I pave-over install Nightly while Nightly is running twice or more in a row, then nightly will always order a restart on every launch or uninstall
Categories
(Firefox :: Installer, defect)
Tracking
()
VERIFIED
FIXED
Tracking | Status | |
---|---|---|
firefox18 | --- | verified |
People
(Reporter: jsmith, Assigned: robert.strong.bugs)
References
Details
(Whiteboard: [stub+])
Attachments
(1 file, 1 obsolete file)
14.48 KB,
patch
|
robert.strong.bugs
:
review+
akeybl
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
Steps:
1. With nightly already running, install Nightly with the stub installer
2. After installation completes, install Nightly again with the stub installer with Nightly already running
3. Close Nightly
4. Launch Nightly - restart required is seen
5. After restarting the machine, try launching nightly
Expected:
Nightly should launch with no errors.
Actual:
Nightly orders a restart required. This happens if you try launch Nightly anytime after these STR are executed or uninstall Nightly. The work-around for this issue is to pave-over install Nightly over the existing installation of Nightly without Nightly running.
Reporter | ||
Updated•12 years ago
|
Blocks: StubInstaller
Assignee | ||
Comment 1•12 years ago
|
||
Saw this as well late last night and I have a patch in progress. I think this should block and I'll hopefully have it fixed by tomorrow morning.
Assignee: nobody → robert.bugzilla
Assignee | ||
Updated•12 years ago
|
Whiteboard: [stub+]
Assignee | ||
Updated•12 years ago
|
Status: NEW → ASSIGNED
Assignee | ||
Comment 2•12 years ago
|
||
The main changes are:
install progress bar is no longer indeterminate.
after the install starts it times out after 60 seconds and offers to download the full installer.
uses the install.log instead of the uninstall.log to determine if the install has finished since the install.log handle is closed later in the full installer.
focus is set to the install button on the intro and options page. Otherwise, unfocus and then focus of the ui would cause the Cancel button to be selected.
I've tested this out probably 50 or more times while tuning the UI changes and it worked every time.
Attachment #670707 -
Flags: review?(netzen)
Comment 3•12 years ago
|
||
Comment on attachment 670707 [details] [diff] [review]
patch rev1
Review of attachment 670707 [details] [diff] [review]:
-----------------------------------------------------------------
I have some questions, but they are not critical, so marking this as r+.
Do you suspect this is what happened with the .moz-upgrade files from the bug with the message box?
::: browser/installer/windows/nsis/stub.nsi
@@ +77,5 @@
> +; defined by InstallProgressFirstStep. This might not be enough when installing on a slow network drive so it will
> +; fallback to downloading the full installer if it reaches this number. The size
> +; of the install progress step increases when the full installer finishes
> +; instead of waiting the entire 60 seconds.
> +!define InstallProgresSteps 620
Maybe this should be 1220?
@@ +1028,5 @@
> + ${EndIf}
> +
> + SendMessage $ProgressbarInstall ${PBM_SETPOS} $InstallCounterStep 0
> +
> + ${If} ${FileExists} "$INSTDIR\install.log"
Is there any case where an insatll.log will not be created? If so should we do any of the below steps in that case? Or give some kind of prompt?
@@ +1041,5 @@
> + ${NSD_KillTimer} CheckInstall
> + ; Close the handle that prevents modification of the full installer
> + System::Call 'kernel32::CloseHandle(i $HandleDownload)'
> + Rename "$INSTDIR\install.tmp" "$INSTDIR\install.log"
> + Delete "$INSTDIR\install.tmp"
If install.tmp is renamed to install.log why delete install.tmp after? Is this in case a rename fails but a delete succeeds? Would having a left over install.tmp cause any problems when applying partial updates? If so maybe use /REBOOTOK?
@@ +1093,5 @@
> + ${EndIf}
> +
> + ${If} ${FileExists} "$INSTDIR\${FileMainEXE}.moz-upgrade"
> + Delete "$INSTDIR\${FileMainEXE}"
> + Rename "$INSTDIR\${FileMainEXE}.moz-upgrade" "$INSTDIR\${FileMainEXE}"
What if the first delete succeeds but the second rename fails?
Attachment #670707 -
Flags: review?(netzen) → review+
Assignee | ||
Comment 4•12 years ago
|
||
(In reply to Brian R. Bondy [:bbondy] from comment #3)
> Comment on attachment 670707 [details] [diff] [review]
> patch rev1
>
> Review of attachment 670707 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> I have some questions, but they are not critical, so marking this as r+.
> Do you suspect this is what happened with the .moz-upgrade files from the
> bug with the message box?
>
> ::: browser/installer/windows/nsis/stub.nsi
> @@ +77,5 @@
> > +; defined by InstallProgressFirstStep. This might not be enough when installing on a slow network drive so it will
> > +; fallback to downloading the full installer if it reaches this number. The size
> > +; of the install progress step increases when the full installer finishes
> > +; instead of waiting the entire 60 seconds.
> > +!define InstallProgresSteps 620
>
> Maybe this should be 1220?
I am ok with changing that
> @@ +1028,5 @@
> > + ${EndIf}
> > +
> > + SendMessage $ProgressbarInstall ${PBM_SETPOS} $InstallCounterStep 0
> > +
> > + ${If} ${FileExists} "$INSTDIR\install.log"
>
> Is there any case where an insatll.log will not be created? If so should we
> do any of the below steps in that case? Or give some kind of prompt?
It is always created and is one of the first things done. I've added a CloseHandle for the download to the fallback.
> @@ +1041,5 @@
> > + ${NSD_KillTimer} CheckInstall
> > + ; Close the handle that prevents modification of the full installer
> > + System::Call 'kernel32::CloseHandle(i $HandleDownload)'
> > + Rename "$INSTDIR\install.tmp" "$INSTDIR\install.log"
> > + Delete "$INSTDIR\install.tmp"
>
> If install.tmp is renamed to install.log why delete install.tmp after? Is
> this in case a rename fails but a delete succeeds? Would having a left over
> install.tmp cause any problems when applying partial updates? If so maybe
> use /REBOOTOK?
Good catch. I changed it from CopyFiles to Rename and forgot to remove the Delete.
> @@ +1093,5 @@
> > + ${EndIf}
> > +
> > + ${If} ${FileExists} "$INSTDIR\${FileMainEXE}.moz-upgrade"
> > + Delete "$INSTDIR\${FileMainEXE}"
> > + Rename "$INSTDIR\${FileMainEXE}.moz-upgrade" "$INSTDIR\${FileMainEXE}"
>
> What if the first delete succeeds but the second rename fails?
Then we are in a bad state but this case is very edgy and really should never happen.
Assignee | ||
Comment 5•12 years ago
|
||
Attachment #670707 -
Attachment is obsolete: true
Attachment #670839 -
Flags: review+
Assignee | ||
Comment 6•12 years ago
|
||
Comment on attachment 670839 [details] [diff] [review]
patch rev2 - comments addressed
Preemptively requesting aurora for this
Attachment #670839 -
Flags: approval-mozilla-aurora?
Updated•12 years ago
|
Attachment #670839 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Assignee | ||
Comment 7•12 years ago
|
||
Pushed to mozilla-central
https://hg.mozilla.org/mozilla-central/rev/90857937b601
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Reporter | ||
Updated•12 years ago
|
QA Contact: jsmith
Assignee | ||
Comment 8•12 years ago
|
||
Pushed to mozilla-aurora
https://hg.mozilla.org/releases/mozilla-aurora/rev/d4c8d6775af7
status-firefox18:
--- → fixed
Reporter | ||
Comment 9•12 years ago
|
||
Verified on 10/12 build.
Status: RESOLVED → VERIFIED
Keywords: verifyme
You need to log in
before you can comment on or make changes to this bug.
Description
•