bugGNU Octave - Bugs: bug #45188, MXE: problems installing different...


bug #45188: MXE: problems installing different Octave versions side by side

Submitted by:  Philip Nienhuis <philipnienhuis>
Submitted on:  Mon 25 May 2015 09:29:07 PM UTC  
Category: Configuration and Build SystemSeverity: 3 - Normal
Priority: 3 - LowItem Group: Installation Failure
Status: Need InfoAssigned to: None
Originator Name: Philip NienhuisOpen/Closed: Open
Release: otherOperating System: Microsoft Windows

Add a New Comment(Rich Markup)

You are not logged in

Please log in, so followups can be emailed to you.


(Jump to the original submission Jump to the original submission)

Sun 22 Oct 2017 05:31:09 PM UTC, comment #23:

The actual issue (decribed in 2nd stanza of comment #17) is still valid.
I'm just lowering priority as it is mainly a developers issue.

Philip Nienhuis <philipnienhuis>
Project Member
Fri 01 Sep 2017 09:46:42 PM UTC, comment #22:

No updates to this for over two years. Can this be closed? Or can it be determined what the correct behavior is?

Rik <rik5>
Project Administrator
Mon 06 Jul 2015 09:41:23 PM UTC, comment #21:

The 4 digit number has to be a 4 number (and only digits in them) or windows doesn't like it.

But the 4 digit number is really only required in a couple of places - most of the registry doesn't care and can be anything

So really no check whether there is the same version installed - just check whether trying to install over the top of an existing install.

John Donoghue <lostbard>
Project Member
Mon 06 Jul 2015 06:10:33 PM UTC, comment #20:

Let's take the practical route.

The easier I can fool the installer script(s) to assume a different version number ("octave-<version>-#2" or whatever), the less is stirred up. And I'm afraid I've already stirred a lot :-)
So, adapting 'mxe-octave/octave/octave-version' seems least intrusive. BTW IIRC in makeinst_script.sh there's a ".1" or ".0" added to the version to have it contain 4 numbers separated by dots isn't it. Perhaps that provides a suitable route.

BTW apart from the version check in the registry there's still the install directory check. So unwary users should still catch some warning.
How difficult is it to add some counter ("-#2" or "-#3") to the version number once the registry check hits target?

Philip Nienhuis <philipnienhuis>
Project Member
Mon 06 Jul 2015 04:35:40 PM UTC, comment #19:

or default-octave could auto do similar and timestamp the version number

John Donoghue <lostbard>
Project Member
Sun 05 Jul 2015 10:08:49 PM UTC, comment #18:

You can/could change the version in the 'mxe-octave/octave/octave-version' file.

If I push the changes I mention in comment 16, then the contents of that file will be what is used for the version info in the installer.

Without the registry, the uninstaller will not appear in the uninstall programs options of windows. No great biggy I guess, however it is what is expected be most Windows users.

I believe that most programs that care about versions, will prompt for you to uninstall the previous version first, but provide the ability to do it from the current installer.

Any one else have any comments/thoughts? If the general consenus is that we want to be able to install what is effectively the same version of octave multiple times then I'm not going to be the one who says no :)

John Donoghue <lostbard>
Project Member
Sun 05 Jul 2015 04:37:21 PM UTC, comment #17:

Yes I clearly remember the course of this bug :-) and indeed the title doesn't reflect the current issue.

Currently I have a "plain" development version installed that I update ~weekly, and now I want to test patches supplied by Dan w/o having to uninstall + reinstall Octave + all packages.
IOW I have a working 4.1.0+ version plus I want to install a test Octave-4.1.0+ into another install directory. That doesn't work.

Could that registry part be avoided at all? E.g., notepad++ offers to use .ini files rather than the registry. AFAIK Octave only uses it for uninstalling itself, and -passively- for locating Java.
"Wiping" the Octave registry entries (i.e., removing it through Control Panel | Programs after having temporarily renamed the install directory) still allows the uninstall program to do its job fine.

Separate registry keys for 32 or 64 bit, esp. for normal users, look over the limit to me.

My main problem is the "hard" refusal to install - there should be a way around it (IMO, that is).

It isn't easy to change the version number as AFAICT that should already happen when (on the Linux side) building the dist archive ("make all dist") used to build mxe-octave upon, as mxe-octave extracts the version from Octave's dist archive.

Of course for the case at hand I can also make a tardist/zip, unpack that and add the shortcuts etc by hand.

Manually adapting the version in makeinst_script.sh is another option; or maybe another make option that adapts makeinst_script.sh.

(BTW another wish is to be able to specify the Start Menu subdir for the shortcuts - I'll open a separate bug report/feature request for it or I'll come up with an makeinst_script.sh patch myself in the patch tracker.)

Philip Nienhuis <philipnienhuis>
Project Member
Sun 05 Jul 2015 04:21:08 PM UTC, comment #16:

I am looking at at least making it able to tell rthe difference between xxxx-rc3, xxxx-rc4 etc and 64 bit vs 32 bit so that they can be installed side by side.

John Donoghue <lostbard>
Project Member
Sun 05 Jul 2015 10:45:20 AM UTC, comment #15:

I thought it had done that all the time - if trying to install like versions ie: 4.1.0 when a 4.1.0 is already installed, or 4.0.0 when 4.0.0-rc4 was already installed.

It uses the version of octave to decide on the version number to use for writing to the registry.

Really there are two parts of the check.
1) at init, check if what it considers the 'same' version of octave installed and display the message.

2) on path selection, check whether it thinks you are trying to install octave over the top of a different version of octave. (in this case you are able to select a different path)

Other issues, at the time of the initial bug report was that on uninstall, it left files that weren't part of the original installation but should be removed anyway.

The remove all files part was fixed in the report, but checking like versions part remained the same.

So for the 'normal' user it should only be a problem when they are trying to install the same release again.

I guess that would also be the case if installing the same 32 bit and 64 bit octaves.

We could change something to make it have unique registry structures for 32 vs 64 bit, but does it make sense to allow install of multiple 'same version' octaves?

John Donoghue <lostbard>
Project Member
Sun 05 Jul 2015 07:30:43 AM UTC, comment #14:

mxe: see comment #12
Octave: tip of July 3: c5a8eff5a05d gallery: add very basic ...... (so 4.1.0+)

I remember that some weeks / months ago I could click the"Back" button and change the install directoy. But with the present installer I don't even get that far.

Philip Nienhuis <philipnienhuis>
Project Member
Sat 04 Jul 2015 08:38:41 PM UTC, comment #13:

what version do you have installed, and what version (4.0 or 4.10+?) are you trying to install?

John Donoghue <lostbard>
Project Member
Sat 04 Jul 2015 08:34:01 PM UTC, comment #12:

Reopening this bug.

I find that the popup informing that "another Octave installation has been found" appears as first window, before any other installation window.
So there's no chance to install two Octave installations side by side if they differ only a tiny bit (e.g., when I am testing some developments on the Windows side).

My mxe is at 4166ce402753 "zeromq: update to v4.1.2"

Philip Nienhuis <philipnienhuis>
Project Member
Sun 07 Jun 2015 03:27:56 PM UTC, comment #11:

Works fine. Thanks

Closing report

Philip Nienhuis <philipnienhuis>
Project Member
Tue 02 Jun 2015 11:39:12 PM UTC, comment #10:

Pushed http://hg.octave.org/mxe-octave/rev/125325a2a2c4

John Donoghue <lostbard>
Project Member
Sun 31 May 2015 08:34:39 PM UTC, comment #9:

We could add a message that the directory cant be deleted and ask to delete on reboot which would handle that case.

John Donoghue <lostbard>
Project Member
Sun 31 May 2015 06:58:48 PM UTC, comment #8:

This is an mxe-octave issue, not a (core) Octave issue => no worries for 4.0.0.

I can test only later the coming week, but looking in the nsis install script I think the issue should be fixed.

(Apart from the corner case of trying to uninstall Octave while it is in use. That won't work)

Philip Nienhuis <philipnienhuis>
Project Member
Sun 31 May 2015 04:15:41 PM UTC, comment #7:

What are the remaining issues for this bug report? Or has it been completely resolved in the 4.0.0 official release now?

Mike Miller <mtmiller>
Project Administrator
Sat 30 May 2015 11:51:09 AM UTC, comment #6:

With that change, it should now delete everything in the install directory (after prompting)

Iy could just do that to start with, however if someone installs to an existing directory of some importance, just deleting everything might be bad

John Donoghue <lostbard>
Project Member
Sat 30 May 2015 08:18:09 AM UTC, comment #5:

Thanks, that was indeed one of the issues:
having a install dir in the way only containing installed OF packages, provoking the installer to complain about overwriting an existing installation.

Is there some way to wipe those remnants upon uninstalling, or can NSIS only delete files it knows about?

Philip Nienhuis <philipnienhuis>
Project Member
Fri 29 May 2015 11:21:49 PM UTC, comment #4:

Pushed http://hg.octave.org/mxe-octave/rev/14ad478dc07b which will prompt and delete on files still in the install directory.

John Donoghue <lostbard>
Project Member
Wed 27 May 2015 11:00:28 PM UTC, comment #3:

Looking at the installer script, it should ask if you wish to install over the top of an existing installed directory.

The registry for a given version also holds info on the uninstall privileges required to uninstall, file associations, old file associations etc

John Donoghue <lostbard>
Project Member
Tue 26 May 2015 05:08:20 PM UTC, comment #2:

E.g., 4.1.0+ vs. 4.0.0.
In Control Panel | Installed Programs I saw several "Octave" entries w/o version nr (3.8.2 I guess).

In general I think the installer shouldn't block installation; just warn and be able to overwrite.
The Control Panel entries aren't needed to uninstall Octave (just a registry echo), the uninstall link will work anyway.

Philip Nienhuis <philipnienhuis>
Project Member
Tue 26 May 2015 04:33:18 PM UTC, comment #1:

By different versions, 4.0.0 vs 3.8.2, or you mean 4.0.0-rc1 vs 4.0.0-rc2 ?

The NSIS script currently doesn't know the difference between the rc versions and so will complain.

Ive been meaning to look at deleting all files in the directory during uninstall after perhaps displaying a message saying there are additional files, but had gotten time to do anything on it.

John Donoghue <lostbard>
Project Member
Mon 25 May 2015 09:29:07 PM UTC, original submission:

On my Win7 box MXE installers often refuse to install and tell me that there's another Octave installation in the way; even when the new version is clearly different than the existing installed versions.

My usual workaround is temporarily appending an underscore to the existing Octave installation directories. Cleaning up Octave entries in the installed program list in the Control Panel is sometimes also needed (the uninstall link in the Start Menu will work nevertheless).
Apparently the nsis installer gets confused somehow, even if the "new" installer clearly has another version no. and InstallDir setting in NSIS than the existing Octave installations.

I also hit this when installing a fresh Octave MXE build after having installed a previous one with the same version (I make new MXE build several times per week). Point is, uninstalling leaves the installed OF packages in place (/lib/ and /share/, these preclude removal of the (then non-empty) Octave install directory and apparently that provokes the NSIS installer to refuse to install a new version.
Currently I manually remove the previous Octave install dirs before attempting installing a fresh build.
=> It would be nice if uninstalling Octave would also wipe the installed OF packages; maybe a "force" option or so?

Philip Nienhuis <philipnienhuis>
Project Member


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):

Attached Files
file #34147:  delonreboot.patch added by lostbard (1KiB - text/x-patch)


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -unavailable- added by rik5 (Posted a comment)
  • -unavailable- added by mtmiller (Posted a comment)
  • -unavailable- added by lostbard (Posted a comment)
  • -unavailable- added by philipnienhuis (Submitted the item)

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.


    Please enter the title of George Orwell's famous dystopian book (it's a date):



    Follow 10 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sun 22 Oct 2017 05:31:09 PM UTCphilipnienhuisPriority5 - Normal=>3 - Low
    Fri 01 Sep 2017 09:46:42 PM UTCrik5StatusNone=>Need Info
    Sat 04 Jul 2015 08:34:01 PM UTCphilipnienhuisStatusFixed=>None
    Sun 07 Jun 2015 03:27:56 PM UTCphilipnienhuisOpen/ClosedOpen=>Closed
    Sun 07 Jun 2015 03:27:55 PM UTCphilipnienhuisStatusReady For Test=>Fixed
    Tue 02 Jun 2015 11:39:12 PM UTClostbardStatusNeed Info=>Ready For Test
    Tue 02 Jun 2015 01:34:17 AM UTClostbardAttached File-=>Added delonreboot.patch, #34147
    Sun 31 May 2015 04:15:41 PM UTCmtmillerCategoryNone=>Configuration and Build System
      StatusNone=>Need Info

    Back to the top

    Powered by Savane 3.1-cleanup1