Le 03/06/2015 15:53, RJ Ryan a écrit :



On Tue, Jun 2, 2015 at 7:13 PM, Sébastien Blaisot <mi...@blaisot.org <mailto:mi...@blaisot.org>> wrote:


    Secondly, we have some anoying bugs with windows installer that should
    be resolved before releasing 1.12 or they will impact next version
    as well:
    - When installing 1.12 on top of a previous version installation, old
    files from previous version are left. so skins from 1.11 shows up next
    to new resizable skins and uninstall entry in the program
    uninstallation
    control panel shows up "Mixxx 1.11" as well as "Mixxx 1.12". selecting
    one of them, regardless of which one, removes the Mixxx
    installation and
    let the other entry unusable. At least we should detect former
    installation and deny installation until the previous version is
    uninstalled or (best) add an upgrade path to the installer.
    I didn't try, but I think we also have an issue when installing Mixxx
    64bits on top of Mixxx 32bits or vice-versa (different installation
    directories under windows).

Hm, yes those aren't ideal. I wonder if a quick fix would be to install to a "Mixxx $VERSION" folder instead of "c:\Program Files\Mixxx"? It wouldn't fix the 32-bit/64-bit issue but it should be enough to get us through this release until we can switch to Wix or something better.

Hi,
I've thought a little about it and came to the conclusion that we have no easy workaround.
Situation (https://bugs.launchpad.net/mixxx/+bug/1457618):
Installing Mixxx 1.12 on top of Mixxx 1.11 (without uninstalling 1.11 before) leave 1.11 files, especially 1.11 fixed skins, and you end up with a 1.12 Mixxx version with a mix of new and older skins. Really not ideal. Uninstall entry is not cleaned either, and you end up with two Mixxx uninstall entries in programs control panel, each one removing mixxx and leaving the other entry non functionnal
What we can do :
1) Have a proper installer with clean upgrade path and modified files preservation

Pros
- Yeah, this is the cleaner solution

Cons
- This is a huge refactoring of installer, with probably a switch to Wix, and is not compatible with 1.12 release target
2) detect if mixxx is already installed and forbid installation if it is
We must define what we call "already installed". 2bis will focus on "installed == installation dir not empty". not ideal. Seems easier with $INSTDIR\mixxx.exe detection. not perfect but doable.

Pros
- clearly avoids two installation mangle each other, even with 32 and 64 bits

Cons
- Is this at least doable with NSIS ? Not sure
2bis) after installation directory selection in installer, refuse to go further if directory is not empty

Pros
- No older files
- seems doable with NSIS : http://nsis.sourceforge.net/Check_if_dir_is_empty

Cons
- Due to the bug lp:1457624 it will need user to manually empty their directory in the 1.11->1.12 upgrade path. Is it acceptable or should we wait for 1.12 release (which will clean all files on uninstall) and make it land in next version. But if we wait, that doesn't solve the immediate problem :(

3) Install Mixxx in a versionned directory (either "Mixxx $VERSION" or better "Mixxx\$VERSION")

Pros
- Let you install and use different versions at the same time
- no need to worry about files left from earlier version

Cons
- have forward and backward compatibility for preference folder files (sqlite database) - seems complicated

4) "uninstall & cleanup" older version before installation

Pros
- solve the immediate problem

Cons
- a bit risky as it can delete user's files without notice. I don't know if we can detect and add a warning before removing file with a "cancel" button to let a chance to backup files.

My preference go to solution 2 with looking for mixxx.exe in the installation directory and stopping installation if found.
What do you think of this ?

sb
------------------------------------------------------------------------------
_______________________________________________
Get Mixxx, the #1 Free MP3 DJ Mixing software Today
http://mixxx.org


Mixxx-devel mailing list
Mixxx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to