In what ways can you detect which edition of Delphi in installed from the installed files?

In what ways can you detect which edition of Delphi in installed from the installed files?

I'm trying to distinguish between Standard, Professional, Enterprise, Architect from a batch file.

Comments

  1. From files on hard disk I don't know but, if Delphi is installed, you may want to read the registry (you can from the command line with reg.exe):

    reg QUERY HKEY_CURRENT_USER\Software\Embarcadero\BDS\19.0 /v Edition

    HTH

    ReplyDelete
  2. Andrea Magni thanks. That worked well, especially since I already had the base key figured out in bitbucket.org - jeroenp / / source / Run-Dependend-rsvars-From-Path.bat — Bitbucket so now I can improve it for various Delphi editions.

    ReplyDelete
  3. Do you also handle the case one installs Delphi for all users vs current Windows user? I don't know if the registry key would change root in that case or not...

    ReplyDelete
  4. what happens if you have more than one edition installed?

    ReplyDelete
  5. Heinz Toskano from what I can see in the batch file he is looking for different versions. The registry key is one for each version and I don't think you can install same version with different editions (well probably it is possible but unusual I would say)...

    ReplyDelete
  6. Given that you cannot distinguish Enterprise and Architect on the file level, the registry key is the only option. Probably the same with Community/Professional, but I didn't check.

    ReplyDelete
  7. Andrea Magni yup: I look in HKLM and HKCU.

    ReplyDelete
  8. Heinz Toskano you cannot install multiple editions of the same Delphi version.

    ReplyDelete
  9. I wasn't aware of the multiple editions thing, I meant versions, but seems to be cover on the batch.

    ReplyDelete
  10. Believe me, the registry key is not reliable. You need to read version information from BDS.EXE and find out which edition you have.

    ReplyDelete
  11. Alexandre Machado That one doesn't look very precise either. Mine says Enterprise/Architect/Ultimate.

    ReplyDelete
  12. Jeroen Wiert Pluimers The reg key probably doesn't distinguish between Enterprise and Architect either. Mine says Enterprise although the info dialog says Architect. (It is also named ProductVersion under Maintenance - Edition doesn't exist here. May be it depends on the installer used.) Perhaps this information is buried in the license only.
    BTW, what do you mean with Standard? I vaguely remember that from ancient versions like D7 and below.

    ReplyDelete
  13. Uwe Raabe Enterprise/Architect/Ultimate use exactly the same binary files. So the information is correct. You can find Delphi installations with no information about edition on registry. I'm sure about it (even if EMBT says the contrary)

    ReplyDelete
  14. Alexandre Machado I agree. There might be no reliable solution for this task unless you are able to decipher the used license key itself.

    ReplyDelete

Post a Comment