I've just noticed that my FB7 built projects are no longer getting any of the Delphi Version Info settings applied in my BeforeAction script and the Delphi Compile action also loses all it's 'normal' Version Info strings. The ProductVersion and FileVersion get applied and nothing else.
In case it's relevant to reproducing this, I'm doing the following in script:
i.e. I'm tracking the latest Perforce changeset the EXE was built from and updating the LegalCopyright. Of course, neither of these changes show up in the version info.
Commenting out that code doesn't seem to change the behaviour however.
This all worked fine in FB5.
I've since checked with the updated 7.0.0.642 build and the problem still seems to be there.
After some further testing, I've narrowed it down to only those projects with 'Use Property Set for Version Info' enabled that are losing their Version Info keys. I doesn't seem to have anything to do with the BeforeAction script code.
If you are using a property set, then that is what you must update to have that info reflected in the delphi project, setting the action properties via script will not work.
I'm using a PropertySet (which is read from an .INI) to set the MajorVersion, MinorVersion, etc. In FB5, that just set the ProductVersion (or FileVersion) and the other VersionInfo key/value pairs were unaffected.
So, are you saying that in FB7, unlike FB5, PropertySets now override all the other VersionInfo strings (e.g. CompanyName, LegalCopyright, etc)?
So I will need to change my projects to populate all the other VersionInfo key/value pairs into the PropertySet instead to get the same result?
Futher to this, I've just checked what kind of Property Set Type I'm using and it's 'Win32 Version Numbers' (which only has MajorVersion, etc). not 'Win32 Version Info' which has the whole gang.
So it would appear that using 'Win32 Version Numbers' in FB7 clobbers all the other Version Info keys, unlike FB5. That seems a little surprising and somewhat annoying.
If I'm forced to switch to a 'Win32 Version Info' Type and fill it all in elsewhere, can I add additional non-standard key/value pairs to a PropertySet like my CompileChange above?
The problem was the versioninfo strings were being cleared when the property set was loaded, but it should have only been doing that when a full version info property set is used.