Hi guys
Hi guys,
Someone out there running #10Seattle Professional can confirm whether the installation creates the registry keys
HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\17.0
or
HKEY_LOCAL_MACHINE\SOFTWARE\Embarcadero\BDS\17.0
(depending on "Install for all users" or "install for logged user" setting during the install, of course)
and a string value "Edition=Professional"?
This is true since BDS 2006 at least, but does not seem to be true for Delphi 10 Seattle anymore. Is the value named "Edition" missing?
Someone out there running #10Seattle Professional can confirm whether the installation creates the registry keys
HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\17.0
or
HKEY_LOCAL_MACHINE\SOFTWARE\Embarcadero\BDS\17.0
(depending on "Install for all users" or "install for logged user" setting during the install, of course)
and a string value "Edition=Professional"?
This is true since BDS 2006 at least, but does not seem to be true for Delphi 10 Seattle anymore. Is the value named "Edition" missing?
/Pro
ReplyDeleteI have the key and a string value of Edition along with eleven other values for the same key.
ReplyDeleteHi Milan Vydareny Thanks for your answer. Weird. One customer reported that he has 2 different machines running Delphi 10 Seattle Pro and could not find this value. A code that uses this key/value to detect Delphi edition fails and the whole setup program also fails. Weird...
ReplyDeleteI bet they are under the 32 bit view, HKLM\Software\Wow6432Node\Embarcadero\...
ReplyDeleteHi David Heffernan yes you may be correct. Thanks for the heads up
ReplyDeleteHKEY_CURRENT_USER\Software\Embarcadero\BDS\17.0 exists and has no Edition entry after installation but has Edition=Enterprise after you started Delphi the first time. HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Embarcadero\BDS\17.0 exists and has Edition=Enterprise directly after installation. HKEY_LOCAL_MACHINE\SOFTWARE\Embarcadero\BDS\17.0 doesn't exist.
ReplyDeleteThanks Jeroen Wiert Pluimers That's interesting. In older versions (e.g. XE2) we have:
ReplyDeleteHKEY_CURRENT_USER\Software\Embarcadero\BDS\9.0 exists and has Edition entry.
This is the difference. The others are just like yours.
My HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\17.0 has Edition value, set to Professional
ReplyDeleteI have one entry in HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Embarcadero\BDS\17.0 with a string value of Edition and also HKEY_CURRENT_USER\Software\Embarcadero\BDS\17.0 also with a string value of Edition.
ReplyDeleteThe machine version is in the Wow6432Node but the user version is not.
I also have 15.0 and 16.0 in both places. So in my case, it's pretty consistent.
Alexandre Machado It looks like it's different after installation without ever starting it. After starting Delphi for the first time. HKLM gets copied to HKCU. "reg query HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\17.0" and "diff" are my friends (:
ReplyDeleteThat's quite normal. And, for the record, on a 64 bit machine, I think everybody should know by now, to be alive to 32/64 bit views of the registry.
ReplyDeleteDavid Heffernan I never looked into that before. The behaviour is indeed completely logical to me.
ReplyDeleteYes , the behavior is expected. IIRC since Delphi 5 at least the HKLM key is copied to HKCU when IDE is launched the first time. In the old times I used to delete the whole HKCU\Software\Borland\Delphi\xxx key in order to reset the IDE in case of something really wrong happening.
ReplyDeleteThank you guys for all the information.
Alexandre Machado thanks for the history. It's indeed very logical. I never noticed until now as since about Delphi 2, I've had this standard installation sequence: run installer, start Delphi, register if needed, check basics, install GExperts, start Delphi, check if GExperts works, repeat with more 3rd party stuff until done. I've always been a single user and usually in VMs with a good backup/restore schedule often even with a single Delphi version in a VM. All of the issues I ever had were with HKLM easily resolvable by restoring a backup. It's good to know how HKCU relates to HKLM. Thanks!
ReplyDeleteAnd while we are on the same topic, you can also execute the IDE with the -r to get a new fresh copy of HKLM into a different area of the current user registry, where the parameter you pass to -r replaces the product name.
ReplyDeleteThanks for this info Marco Cantù . I didn't know that! :-)
ReplyDelete