protocolbuffers/protobuf

Building MSI Package linked to protobuf with CMake WIX fails

Open

#15,511 opened on Jan 19, 2024

 (3 comments) (0 reactions) (0 assignees)C++ (16,128 forks)batch import
cmakehelp wanted

Repository metrics

Stars
 (71,223 stars)
PR merge metrics
 (PR metrics pending)

Description

What version of protobuf and what language are you using? Version: 25.1 Language: C++

What operating system (Linux, Windows, ...) and version? Windows 2022 (running GH Actions)

What runtime / compiler are you using (e.g., python version or gcc version) MSVC 2019

What did you do? Steps to reproduce the behavior:

  1. Have application that depends on/links to protobuf
  2. Build application exe
  3. Use CPack WIX (which calls candle.exe) to build MSI package
  4. See error

What did you expect to see A working MSI package

What did you see instead? Errors during the MSI build:

build\_CPack_Packages\win64\WIX\features.wxs(8) : error CNDL0014 : The Feature/@Id attribute's value, 'CM_C_libprotobuf-lite', is not a legal identifier.  Identifiers may contain ASCII characters A-Z, a-z, digits, underscores (_), or periods (.).  Every identifier must begin with either a letter or an underscore.

build\_CPack_Packages\win64\WIX\features.wxs(10) : error CNDL0014 : The Feature/@Id attribute's value, 'CM_C_protobuf-export', is not a legal identifier.  Identifiers may contain ASCII characters A-Z, a-z, digits, underscores (_), or periods (.).  Every identifier must begin with either a letter or an underscore.

build\_CPack_Packages\win64\WIX\features.wxs(11) : error CNDL0014 : The Feature/@Id attribute's value, 'CM_C_protobuf-headers', is not a legal identifier.  Identifiers may contain ASCII characters A-Z, a-z, digits, underscores (_), or periods (.).  Every identifier must begin with either a letter or an underscore.

build\_CPack_Packages\win64\WIX\features.wxs(20) : error CNDL0014 : The FeatureRef/@Id attribute's value, 'CM_C_libprotobuf-lite', is not a legal identifier.  Identifiers may contain ASCII characters A-Z, a-z, digits, underscores (_), or periods (.).  Every identifier must begin with either a letter or an underscore.

build\_CPack_Packages\win64\WIX\features.wxs(26) : error CNDL0014 : The FeatureRef/@Id attribute's value, 'CM_C_protobuf-export', is not a legal identifier.  Identifiers may contain ASCII characters A-Z, a-z, digits, underscores (_), or periods (.).  Every identifier must begin with either a letter or an underscore.

build\_CPack_Packages\win64\WIX\features.wxs(29) : error CNDL0014 : The FeatureRef/@Id attribute's value, 'CM_C_protobuf-headers', is not a legal identifier.  Identifiers may contain ASCII characters A-Z, a-z, digits, underscores (_), or periods (.).  Every identifier must begin with either a letter or an underscore.

Make sure you include information that can help us debug (full error message, exception listing, stack trace, logs).

Anything else we should know about your project / environment Running GitHub actions. Other CPack targets work as expected.

Contributor guide