Question about PropertySet with "Win32 Version Info" (maybe doubled, my first topic disappeared)

Hi,

I have a question about the FinalBuilder action "PropertySet" with "Win32 Version Info". On restructuring our
FinalBuilder Delphi builds I want to use this propertyset to generate RC files with version info.

I assign values to the propertyset and use the action "Win32 Version Info Updater" to update a RC template with
an empty "StringFileInfo" block. So far, so good.

But I see that the value of the property "ProductVersionString" was not set in this block. Instead the value of
the property "ProductVersion" is set in the "StringFileInfo".

The values are there and different (e.g. ProductVersion = "4.4.4.4" and ProductVersionString = "4.4").
I see them when I assign this properties to parameters of an action list.

I would except that the property "ProductVersion" sets the statement "PRODUCTVERSION" of a RC file and that the
property "ProductVersionString" sets the value "ProductVersion" in the block "StringFileInfo" of a RC File.

Or for what reason exist this difference?

By the way, is the property "FileVersionString" acting the same way?

We are working with FinalBuilder v7.0.03368 Professional Edition on Windows 7 Enterprise x64 SP 1.

Regards,
Thomas

On the PropertySet Assign values action, there are some properties that you can set that control how the version info is generated.

AutoUpdateFileVersionString - when true, the FileVersionString takes the value of FileVersion
AutoUpdateProductVersionString - when true, the ProductVersionString takes the value of ProductVersion
LinkProductVersion - when true ProductVersion will have the same value as FileVersion

All three of these properties default to true.

I’ll update the doco to reflect this for FB8.

Maybe it should but it don’t do it correctly.

I think there are 2 problems.

1) If in “PropertySet Assign Properties” the attributes “AutoUpdate…” and “LinkProductVersion” are not checked,(= false???) the setting has no effect. It works only correct if you set this attributes in the “BeforeAction” event to false.
Do FinalBuilder evaluate this attributes at all?

2) If the value of “ProductVersion” is not correct the value of “Fileversion” is assigned to “ProductVersion”, E.g. value is ‘1.2’ but instead of it ‘1.2.3.4’  (= FileVersion) is used.

Regards,
Thomas

  1. Yes of course, otherwise they wouldn’t exist. They are evaluated when the propertyset is used by an action (ie delphi or visual studio c++).

    2) ProductVersion is defined as "Binary version number for the product with which the file is distributed. The version parameter is two 32-bit integers, defined by four 16-bit integers. "

    See - https://msdn.microsoft.com/en-us/library/windows/desktop/aa381058(v=vs.85).aspx

    So you cannot set it to 1.2 - Use the ProductVersionString property of the propertyset, and make sure AutoUpdateProductVersionString is false otherwise it will take the value from ProductVersion.