It appears that Embarcadero have made some unhelpful decisions about version resources in XE2. Leaving aside FB for a moment, I found that XE version resources, on conversion of a project to XE2, are moved into a new place in the DPROJ file, in a position logically above the 'platform' at the 'configurations' level. From here they are NOT inherited by the individual platforms, so if you simply build your project in the XE2 IDE it ends up with missing resource strings (eg no company, copyright etc.). At the same time the original XE2 resources are 'parked' where they always used to be in the DPROJ (in the Project Extensions / Borland Personality), but I find that they are no longer updated there by the IDE.
For users who do not have FB, and who use IDE builds, it seems that you have to manually copy each resource string from the 'configurations' level into the platform level in order ro get them to appear in the executable. This is extremely tedious, but in theory I could write a program to fix up all my DPROJ files and replicate the 'all configurations' items in the separate platform levels (we will only need 32-bit platform for a while).
The bigger problem with this solution is that it appears that FinalBuilder is still picking the version resources from the 'old' location in the DPROJ, or perhaps from the project itself via the ToolsAPI, which still returns these same values. But these will soon get out of step with those visible in the XE2 IDE, since the IDE no longer maintains them in the old location.
I thought that I could work around the Embarcadero change by switching to maintain the version resources in FB. This is great as far as my executable is concerned: I can keep the version resources in FB as the master copy, and no manual work is needed on upgrading from XE to XE2, and the resources are correct in the EXE. But if I tell FB to update the resources in the project, it updates the 'old' VERSIONINFO resources in the DPROJ, not those that are visible in the XE2 IDE. So when working in the IDE, I cannot check the real version resources without referring to the master copies in FB.
Do you agree with my analysis of the situation, and do you have a solution? One approach would be to switch FB to use the 'all configurations' version resources and ignore the ones it has used up to now in the Borland area of the DPROJ. This would solve most of the problems for most people, unless they have separate version resources for different platforms. Handling this properly in FB would need the same base/configuration/platform hierarchy in FB to maintain separate version resources there. If you decided to do this, I assume you would implement sensible inheritance, unlike the IDE which appears to need the resources replicated at every level.
For our own purposes, we would also like to have program control over the resource strings (we currently use ToolsAPI for this, prior to an IDE build) and I have not yet found a way to access from the ToolsAPI the new resource strings that are maintained in the XE2 IDE. You may know of a way to do this (or do you currently work directly with the XML in the project file?).