Merge lp:~brian.curtin/ubuntuone-windows-installer/installer-fixes into lp:ubuntuone-windows-installer
Status: | Merged |
---|---|
Approved by: | Brian Curtin |
Approved revision: | 164 |
Merged at revision: | 159 |
Proposed branch: | lp:~brian.curtin/ubuntuone-windows-installer/installer-fixes |
Merge into: | lp:ubuntuone-windows-installer |
Diff against target: |
262 lines (+156/-33) 1 file modified
scripts/ubuntuone.xml (+156/-33) |
To merge this branch: | bzr merge lp:~brian.curtin/ubuntuone-windows-installer/installer-fixes |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Roberto Alsina (community) | Approve | ||
Mike McCracken (community) | Approve | ||
Review via email: mp+145999@code.launchpad.net |
Commit message
- Make installer smarter by shutting down existing Ubuntu One applications, uninstalling the previous version, and installing on a clean base. (lp:1111899)
Description of the change
This proposal makes the installer a lot smarter in the case of an upgrade, which we sometimes see issues with, and upgrades are the likely case of ZipImportErrors we've been seeing.
There are several parts here:
1. Stop any existing Ubuntu One applications before continuing the installer. If we can find u1sdtool, run it with -q to safely stop syncdaemon. After that, we run a piece of vbscript to use WMI and query the system for all running U1 executables, then terminate all of them.
2. If we can find an uninstaller, back it up and run our uninstall. We have to put the backed up version back so future installers can do the same. We do this inside a progress bar display because this could take a few seconds that might leave people wondering what the installer is doing. On my VMs, it could take 10 seconds from click to the time you see the actual installation part begin, so displaying this progress bar holds them over.
3. I've added showMessageOnEr
4. I've removed a special case of the installer to not start up U1CP on upgrade installs because of our previous issues with installing over the top of things. Now that we do an uninstall and then a clean install, we can safely start up the control panel regardless of whether it was a first-time install or upgrade.
I also had to update the unattendedModeUI to include dialogs for our uninstaller run. It's now minimalWithDialogs.
Note: This has been tested on XP, Vista, and 8. All of them are able to do a successful clean install followed by an upgrade.
Looks good to me, although I'd like to test it IRL but I'm not sure how.
I'm also not totally clear on why we need to run a backup of the uninstaller and then copy it back.
Why not just run the uninstaller in place?
And once we've done an uninstall followed by an install, why are we putting back the old uninstaller? Isn't there an uninstaller installed by the install step, and if there isn't anymore, why do we still need the old one?