Author Topic: Request for common mechanism to find highest version installed  (Read 1283 times)


  • Community Member
  • Posts: 33
  • Hero Points: 4
Request for common mechanism to find highest version installed
« on: October 31, 2018, 05:42:49 pm »
As part of adding support for SlickEdit as an external editor to GitHub Desktop, I've seen a downside to providing SxS installation. See the request for more information and the resulting pull request.

I am not asking to not support SxS, but I am requesting a common way to find the path to an installed version without having to update GitHub Desktop for every released version. For detection on Windows right now, it will need to be updated even for dot versions. The detection mechanism on Windows is to look in the registry. Right now, the only location there that has all the needed information is the uninstall key. Because SlickEdit can be installed SxS, this key is a GUID that changes for every different release (Pro/Standard, x32/x64, 23.0.0/23.0.1, etc.)

I would like to request a new location that has the same information but in a consistent location. For example:

In particular, the keys I need for this are InstallLocation, DisplayName and Publisher, though having all of them (like in the uninstall key) would possibly help other use cases.

I see three ways to update this.
  • At install time - this means last version installed wins
  • When the program launches - this means the last version to run wins
  • At install time but only if a higher version - this means the highest version installed wins regardless of order
These are in order of effort. I actually prefer the middle option, but any of these would make keeping GitHub Desktop working with the latest version of SlickEdit on Windows much easier.

There is a similar issue on Linux and Mac, though it isn't quite as bad since it is only per year based version, not the dot versions as well.

For Linux, I could see the installer also adding a folder called something like /opt/slickedit-latest/bin with links to the actual applications from the last one installed.

I have no idea how to solve this on a Mac though.

I'm sure there are other and possibly better ways to solve this.

Thank you