[CDRIVER-3091] c driver binaries on Windows are missing a VERSIONINFO resource Created: 17/Apr/19  Updated: 27/Oct/23  Resolved: 24/Oct/23

Status: Closed
Project: C Driver
Component/s: Build
Affects Version/s: None
Fix Version/s: 1.25.0

Type: Task Priority: Major - P3
Reporter: Mark Benvenuto Assignee: Kevin Albertson
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to CXX-1766 C++ driver binaries on Windows are mi... Closed
Epic Link: CDRIVER-4577
Quarter: FY24Q4

 Description   

On Windows, it is a best practice for binaries to have a VERSIONINFO resource. This enables users to check the version of the binary without running the code. The version info can be viewed from Explorer, sigcheck from sysinternals or other tools.

 

References:

https://docs.microsoft.com/en-us/windows/desktop/menurc/versioninfo-resource

https://stackoverflow.com/questions/3526794/how-do-i-build-a-win32-app-with-a-resource-file-using-cmake-and-mingw

 

Example from server: https://github.com/mongodb/mongo/blob/master/src/mongo/db/db.rc



 Comments   
Comment by Githook User [ 27/Oct/23 ]

Author:

{'name': 'Kevin Albertson', 'email': 'kevin.albertson@mongodb.com', 'username': 'kevinAlbs'}

Message: CDRIVER-3091 fix copyrights and `OriginalFilename` (#1457)

  • use `*OUTPUT_BASENAME ` to define `OriginalFilename`
  • use project inception date as copyright year
  • quote macros in .rc file, not CMake

The MinGW resource compiler (windres) does not appear to keep quotes on arguments passed to the preprocessor.

  • use `configure_file` to simplify
  • use `API_VERSION` macros in place of `1.0` literals
  • guard config of `.rc` files in `if(WIN32)`

For consistency with C++ driver.

Comment by Githook User [ 24/Oct/23 ]

Author:

{'name': 'Kevin Albertson', 'email': 'kevin.albertson@mongodb.com', 'username': 'kevinAlbs'}

Message: CDRIVER-3091 add VERSIONINFO to dlls (#1451)
Branch: master
https://github.com/mongodb/mongo-c-driver/commit/1b0a49ae1dd2a5fff380dd06873437444cb069af

Comment by Mark Benvenuto [ 29/Apr/19 ]

Yes. This also applies to the C++ driver. Filed CXX-1766 and linked it to this ticket.

Comment by Kevin Albertson [ 29/Apr/19 ]

mark.benvenuto would this apply to the C++ as well? If so, would you mind creating a CXX ticket and linking?

Generated at Wed Feb 07 21:17:06 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.