bugGNU Octave - Bugs: bug #63740, GNU Octave launcher


bug #63740: GNU Octave launcher

Submitter:  Armin Müller <arm_in>
Submitted:  Thu 02 Feb 2023 12:35:58 PM UTC
Category:  Configuration and Build System Severity:  1 - Wish
Priority:  3 - Low Item Group:  None
Status:  Need Info Assigned to:  None
Originator Name:  Open/Closed:  * Open
Release:  * 8.0.90 Operating System:  * Microsoft Windows
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment (Rich Markup)

( Jump to the original submission )

Fri 10 Feb 2023 08:33:38 AM UTC, comment #26: 

Quick test with "KC Sumo" and octave-2023-02-07-00-10-default-w64-installer.exe

GNU Octave is detected as such. Looks good! Screenshot attached.

Thanks to everyone

https://file.savannah.gnu.org/file/Octave@" />

Armin Müller <arm_in>
Wed 08 Feb 2023 01:08:50 PM UTC, comment #25: 

we don't and we don't need to. but we have here at least a single data point of a fairly innocuous request to make Octave more compatible with deployment tools typically used in an enterprise environment.

Nicholas Jankowski <nrjank>
Project Member
Tue 07 Feb 2023 11:56:33 AM UTC, comment #24: 

> if it will assist those looking to facilitate corporate deployment

Ok. How do we find out whether that condition is met?
I personally can't imagine a situation where a version number of a launcher executable could somehow influence the decision about deployment on a corporate level...

Markus Mützel <mmuetzel>
Project Member
Tue 07 Feb 2023 11:51:16 AM UTC, comment #23: 

I would request it be added to the release if possible if it will assist those looking to facilitate corporate deployment

Nicholas Jankowski <nrjank>
Project Member
Tue 07 Feb 2023 10:38:48 AM UTC, comment #22: 

I downloaded the installer from here:

With it, the product version shows as 8.0.91 for me.

I guess we could cherry-pick this change to the release branch so that it would be included in Octave 8. Otherwise, it will be included in Octave 9.
I'm fine with either.

Markus Mützel <mmuetzel>
Project Member
Mon 06 Feb 2023 05:53:55 PM UTC, comment #21: 

fixed fileversion, and pushed to default https://hg.octave.org/mxe-octave/rev/1f6d83d95f96

John Donoghue <lostbard>
Project Member
Sun 05 Feb 2023 02:21:45 PM UTC, comment #20: 

I see you bumped the `FILEVERSION` to `1,0,0,1`. In that case, you should also bump the "FileVersion" field of the "StringFileInfo" block to "" (to keep them in sync).

The replacement rules in the patch rely on the version numbering scheme to stay the same forever. Let's hope that we'll remember adjusting these rules in case the version numbering scheme of Octave would change at some point in the future.
But I guess that the "worst-case scenario" would be that the launcher wouldn't have any valid file properties. (But it would probably still work. So, not much harm either case.)

Other than the inconsistency in the file version, this looks good to me now. (But I haven't tested the changes.)

Markus Mützel <mmuetzel>
Project Member
Fri 03 Feb 2023 06:28:06 PM UTC, comment #19: 

i missed the use of commas in the PRODUCTVERSION, easy enough to change

(file #54313)

John Donoghue <lostbard>
Project Member
Fri 03 Feb 2023 04:42:06 PM UTC, comment #18: 

i look at as more of an opportunity to "play nicely with others" in Windows.  It's the front-facing part of the system interface that corporate environments use as they decide what software they let on their systems.

Personally, I would think the system should care more about what's actually running in the process list than what's linked from the start menu. And other parts of the security suite probably do. For octave that main item would be octave-gui.exe.  looking at other apps in Task Manager, right now i see the MSYS2 terminal app which nicely Details its name and product (mintty) with versions. Same with notepad++. octave-gui.exe is blank.

Yes, its a zero trust name anyone can change. But it's a piece. Couple the name with an expected fingerprint and it begins approaching something that looks like security.

Nicholas Jankowski <nrjank>
Project Member
Fri 03 Feb 2023 04:26:54 PM UTC, comment #17: 

I'm not sure if this whole ordeal is worth the effort. The version number of the launcher is purely cosmetic imho...

Markus Mützel <mmuetzel>
Project Member
Fri 03 Feb 2023 04:24:14 PM UTC, comment #16: 

The PRODUCTVERSION must be 4 16-bit integers separated by commas ",".
See also: https://learn.microsoft.com/en-us/windows/win32/menurc/versioninfo-resource

Markus Mützel <mmuetzel>
Project Member
Fri 03 Feb 2023 04:19:31 PM UTC, comment #15: 

Looks like the PRODUCTVERSION can be just the version number with an additional .0 to make it 4 numbers.

Patch update to use @VARNAME@ and set PRODUCTVERSION and ProductVersion

(file #54312)

John Donoghue <lostbard>
Project Member
Fri 03 Feb 2023 03:57:12 PM UTC, comment #14: 

It could use OCTAVE_VERSION rather than string match, likewise the something got the other version.

The current patch isnt changing the first version since the example property in from previous comments just showed the strings.

John Donoghue <lostbard>
Project Member
Fri 03 Feb 2023 03:48:20 PM UTC, comment #13: 

IIUC, we are using patterns like %OCTAVE_VERSION% in other .in files in core Octave for sed replacements. Would it make sense to use a similar pattern here?

Also, the value for `PRODUCTVERSION` should match the string set for "ProductVersion" in the "StringFileInfo" block. (But they use different formats!) I'm not sure if they would match with the current patch.

Markus Mützel <mmuetzel>
Project Member
Fri 03 Feb 2023 03:39:57 PM UTC, comment #12: 

oh sorry, i was just looking at the changes to octave-launch.rc.in that looked like it was just manually set. didn't read enough above that.

Nicholas Jankowski <nrjank>
Project Member
Fri 03 Feb 2023 03:24:24 PM UTC, comment #11: 

The patch does update the product version to match the octave version automatically

John Donoghue <lostbard>
Project Member
Fri 03 Feb 2023 02:23:40 PM UTC, comment #10: 

in that patch since "ProductName" is being changed to "GNU Octave", shouldn't "ProductVersion", be changed to match Octave version?

Is there a way to pull that version number automatically from somewhere else in the build so that it isn't one more thing to be manually changed with a release?

Nicholas Jankowski <nrjank>
Project Member
Fri 03 Feb 2023 02:11:18 PM UTC, comment #9: 

Patch that updates the rc file per the current octave version during compile of the octave-launcher

(file #54311)

John Donoghue <lostbard>
Project Member
Fri 03 Feb 2023 01:27:05 PM UTC, comment #8: 

The info is compiled in from file installer-files/octave-launch.rc in mxe-octave

VALUE "CompanyName", "GNU Octave"
VALUE "FileDescription", "GNU Octave Launcher"
VALUE "FileVersion", "1.0"
VALUE "InternalName", "octave-launcher.exe"
VALUE "LegalCopyright", " Copyright (C) 2021 The Octave Project Developers"
VALUE "OriginalFilename", "octave-launcher.exe"
VALUE "ProductName", "GNU Octave Launcher"
VALUE "ProductVersion", "1.0"

Copyright should probally also be updated

John Donoghue <lostbard>
Project Member
Thu 02 Feb 2023 04:39:40 PM UTC, comment #7: 

Do you know what Property is being scraped for that list?  E.g., looking at my local matlab install i see:

File Description: MATLAB starter application
File version
Product name MATLAB
Product version

Octave 7.3.0 on the other hand shows:

File Description: GNU Octave Launcher
File version
Product name GNU Octave Launcher
Product version 1.0

It seems it would make sense to similarly have file version remain appropriately numbered for the actual launcher, but product name/version correctly list GNU Octave and 7.3.0. 

I'm curious how that would appear in the product tracking logs.

Nicholas Jankowski <nrjank>
Project Member
Thu 02 Feb 2023 04:33:22 PM UTC, comment #6: 

That sounds like a downstream issue to me. There are other (probably more reliable) ways to determine a program version. E.g., by parsing the uninstall information in the registry.

The launcher is the same for any version. You could copy the launcher from one version of Octave to the other and it would still do its job.

Fwiw, Matlab's launcher executable has the file version So, it looks like we are compatible in this regard. 😉

Markus Mützel <mmuetzel>
Project Member
Thu 02 Feb 2023 04:32:09 PM UTC, comment #5: 

our organization uses similar products. I suspect they'd want to see something similar for version control/tracking if they were preparing octave for general deployment via MS Software Center.

I'm not sure where in the process that metadata is created, but if it's not too onerous to update that string as part of building the launcher I think it would be worthwhile.

Nicholas Jankowski <nrjank>
Project Member
Thu 02 Feb 2023 04:16:06 PM UTC, comment #4: 

Checked with KC SUMo. Right, there was this switch from .vbs to .exe

Octave 6.4.0

icon linked to
%SYSTEMROOT%\system32\wscript.exe "C:\Octave\Octave-6.4.0\octave.vbs" --gui
not shown at all

Octave 7.1.0, 7.2.0, 7.3.0, 8.0.90

icon linked to
C:\Octave\Octave-7.1.0\octave-launch.exe --gui
C:\Octave\Octave-7.2.0\octave-launch.exe --gui
C:\Octave\Octave-7.3.0\octave-launch.exe --gui
C:\Octave\Octave-8.0.90\octave-launch.exe --gui

Armin Müller <arm_in>
Thu 02 Feb 2023 03:51:23 PM UTC, comment #3: 

Version management software like Baramundi, Deskcenter, Matrix42, ZenWorks, KC SUMo (Free), etc. will collect the currently installed version number from the VERSIONINFO resource compiled into the main application *.exe file. Example screenshots:



In the case of GNU Octave, the start menu and desktop icons are linked to "octave-launch.exe", which acts as the main application.

Let my try to install some older versions and see how they show up ...

Armin Müller <arm_in>
Thu 02 Feb 2023 03:30:02 PM UTC, comment #2: 

Was about to ask the same question. to add: Octave somewhat recently added this launcher to replace the previous use of .vbs or .bat scripts to launch octave-gui.exe.  Did those show up differently?

Nicholas Jankowski <nrjank>
Project Member
Thu 02 Feb 2023 01:12:15 PM UTC, comment #1: 

Most of the executables in Octave for Windows don't have version information. The launcher is one of the few exceptions.

I don't expect the launcher to change between Octave versions. So, I'm doubtful if it would make sense to bump its version just "for the sake of it".

Could you please elaborate a bit on how the version number of the launcher executable would affect deployment tools?

Markus Mützel <mmuetzel>
Project Member
Thu 02 Feb 2023 12:35:58 PM UTC, original submission:  

When installing today's alpha 8.0.90, the main application is called "GNU Octave Launcher" (octave-launch.exe). Windows Explorer will indicate "file version" and "product version 1.0"

I would like to suggest that file version and/or product version of octave-launch.exe be the same as the corresponding Octave version, e.g. 8.0.90 as indicated in the "About" window, "ver" and "version" commands. This would make it easier for deployment tools to check the currently installed version.


Armin Müller <arm_in>


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

Attach Files:

Attached Files
file #54344:  Octave@ added by arm_in (111KiB - image/png)
file #54313:  changerc3.patch added by lostbard (4KiB - text/x-patch)
file #54312:  changerc2.patch added by lostbard (3KiB - text/x-patch)
file #54311:  changerc.patch added by lostbard (3KiB - text/x-patch)


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by lostbard (Posted a comment)
  • -email is unavailable- added by nrjank (Posted a comment)
  • -email is unavailable- added by mmuetzel (Posted a comment)
  • -email is unavailable- added by arm_in (Submitted the item)

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only project members can vote.





    Follow 8 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2023-02-10 arm_in Attached File- Added Octave@, #54344
    2023-02-05 mmuetzel Severity3 - Normal 1 - Wish
        Priority5 - Normal 3 - Low
    2023-02-03 lostbard Attached File- Added changerc3.patch, #54313
    2023-02-03 lostbard Attached File- Added changerc2.patch, #54312
    2023-02-03 lostbard Attached File- Added changerc.patch, #54311
    2023-02-02 mmuetzel StatusNone Need Info
    2023-02-02 arm_in Attached File- Added octave-launch@version.png, #54297

    Back to the top

    Powered by Savane 3.11