windows registry key

Bug #1697210 reported by Liviu Ionescu
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
GNU Arm Embedded Toolchain
Fix Released
Undecided
Unassigned

Bug Description

As recommended by Microsoft, the Windows setup writes some keys in the registry, to identify and uninstall the program.

The uninstall keys are probably ok, but the key that defines the 'InstallFolder' is not that useful, since it includes the version:

    HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ARM\GNU Tools for ARM Embedded Processors 6-2017-q1-update

For you to better understand the problem, please note that IDEs (like GNU MCU Eclipse plug-ins, formerly GNU ARM Eclipse) use this kind of keys to automatically configure the PATH to the toolchain or different other tools.

Including the version in the key requires IDEs to be updated after each new release of the toolchain, to extend the search with the new keys, which is unreasonably complicated.

The path auto-discover mechanism works better with keys that do not change with each version.

If you have reasons to keep the version specific key, fine, but please also define the 'InstallFolder' below a key like:

    HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ARM\GNU Tools for ARM Embedded Processors

that will remain unchanged for all future versions.

thank you,

Liviu

Revision history for this message
Liviu Ionescu (ilg) wrote :

And, as reported in bug https://bugs.launchpad.net/gcc-arm-embedded/+bug/1697212, the correct name is 'InstallLocation', the 'InstallFolder' is now deprecated.

Revision history for this message
Tejas Belagod (belagod-tejas) wrote :

If multiple versions of the toolchains have to co-exist, wouldn't you have to change the keys each time for the Eclipse GUI to pick up the right version of the installed tools?

Revision history for this message
Liviu Ionescu (ilg) wrote :

The auto-discovery mechanism is used only to provide a reasonable default if the user does not explicitly select one of the toolchains.

And one reasonable default is the most recently installed toolchain.

As I said, you can leave the versioned key there, but please add an un-versioned one, that will always point to the most recently installed.

Revision history for this message
Liviu Ionescu (ilg) wrote :

If you are not convinced that an un-versioned key is useful, try to imagine how would you implement the code to determine the most recently installed toolchain without it:

- you have to enumerate all sub-keys below
- fetch the InstallLocation below it
- pick a file/folder at that location
- get it's modified date
- compute maximum

all this effort can be saved with an un-versioned key.

Changed in gcc-arm-embedded:
status: New → Fix Committed
Revision history for this message
Thomas Preud'homme (thomas-preudhomme) wrote :

An unversioned key is installed now so closing this bug. Note that we are aware of an issue when installing several versions of the toolchain. If someone wants to track that issue please open a separate bug.

Changed in gcc-arm-embedded:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.