PDA

View Full Version : Make VS 2022 VERSIONINFO is not incremented


mgampi
04-30-2024, 05:17 AM
Hi;
I'm using one single "Make VS2022" step to rebuild a solution.
I have set "Increment the target version if...", but it's never incremented.
The .rc file of the included projects (in the solution) contain either only one VERSIONINFO or several ones for each language we support.
The .rc files are checked out from the repositories before the rebuild step starts.

Here is the content of one such .rc file:
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)

/////////////////////////////////////////////////////////////////////////////
//
// Version
//

VS_VERSION_INFO VERSIONINFO
FILEVERSION 2024,01,10,823
PRODUCTVERSION 6,8,3,0
FILEFLAGSMASK 0x1fL
#ifdef _DEBUG
FILEFLAGS 0x9L
#else
FILEFLAGS 0x8L
#endif
FILEOS 0x4L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904e4"
BEGIN
VALUE "Comments", "....."
VALUE "CompanyName", "....."
#ifdef XR_DBMS_ODBC
VALUE "FileDescription", "....."
#else
VALUE "FileDescription", "....."
#endif
VALUE "FileVersion", "2024.01.10.823"
VALUE "InternalName", "....."
VALUE "LegalCopyright", "....."
VALUE "LegalTrademarks", "....."
VALUE "OriginalFilename", "....."
VALUE "PrivateBuild", "4/30/2024"
VALUE "ProductName", "....."
VALUE "ProductVersion", "6.8.3"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1252
END
END


LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
#pragma code_page(1252)

/////////////////////////////////////////////////////////////////////////////
//
// Version
//

VS_VERSION_INFO VERSIONINFO
FILEVERSION 2024,01,10,823
PRODUCTVERSION 6,8,3,0
FILEFLAGSMASK 0x1fL
#ifdef _DEBUG
FILEFLAGS 0x9L
#else
FILEFLAGS 0x8L
#endif
FILEOS 0x4L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040704e4"
BEGIN
VALUE "Comments", "....."
VALUE "CompanyName", "....."
#ifdef XR_DBMS_ODBC
VALUE "FileDescription", "...."
#else
VALUE "FileDescription", "....."
#endif
VALUE "FileVersion", "2024.01.10.823"
VALUE "InternalName", "....."
VALUE "LegalCopyright", "....."
VALUE "LegalTrademarks", "....."
VALUE "OriginalFilename", "....."
VALUE "PrivateBuild", "10.01.2024"
VALUE "ProductName", " ....."
VALUE "ProductVersion", "6.8.3"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x407, 1252
END
END


What can be the reason for this error and how can I solve it?

Thanks in advance

Martin

kinook
05-01-2024, 03:00 PM
We did find an issue with the default target filename for x64 configuration not including the \x64 path in the filename, which would prevent the action from detecting a difference to increment the version. This is fixed in the latest download (VisBuildDotNET.dll 10.9.0.2).

If that doesn't resolve the issue, please provide the information requested at

https://www.kinook.com/Forum/showthread.php?t=3044

Thanks.

mgampi
05-02-2024, 01:50 AM
Hello;
I just updated VBP to the latest release but the problem still exists.
We will provide the information as requested by the end of the day.

mgampi
05-02-2024, 04:33 AM
Hi;

We found out, that the increment is only done, when we choose 'All' in 'Which solution or project config should be build or updated? ...'.
But in our case we are always generating only the Release|x64 configuration. As soon as we explicitely set this configuration, the increment stops working.
Why?

TIA

Martin

kinook
05-02-2024, 07:11 AM
That was happening in our tests (attached) as well before the fix (when building all configurations, it correctly identified the x86 executable target filenames but not the x64). Please post the project files.

mgampi
05-08-2024, 05:13 AM
Hello;

Which files do you need in detail?
Only the .vcxproj files or the .sln?
In addition, do you need the VBP build file too?

TIA

Martin

kinook
05-08-2024, 07:06 AM
The .bld file, the .vxcproj file, the .sln (if that is what you're building), and the .rc files in the project.

mgampi
05-13-2024, 03:58 AM
Find enclosed the requested files.
Currently we build only the Release|x64 configurations.

kinook
05-13-2024, 02:21 PM
Your projects are referencing

$(DefaultPlatformToolset)

which the Make VS action doesn't know about.
<OutDir>..\..\bin\$(DefaultPlatformToolset)\$(Configuratio n)\</OutDir>

The value would vary depending on the version of Visual Studio that is performing the build. It looks like the default for VS 2022 is v143.

What you can do is add a Set Macro step before the Make VS action to set DefaultPlatformToolset = v143 with 'Add to environment variables...' checked, and the Make VS action will do the replacement on the VS variable from the environment variable. If the executable is created in that path, the action will be able to detect the change for incrementing.

mgampi
05-14-2024, 07:11 AM
I will try to change the build script but will you support $(DefaultPlatformToolset) in a future release?
All our libraries are using this macro, because they are built with/for different compiler versions.

TIA

Martin

kinook
05-14-2024, 08:06 AM
Supported in the latest download (VisBuildDotNET.dll 10.9.0.3).