Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regression: Localization variables no longer support a . (dot) in the Id #8713

Open
1 task done
philipp-naused opened this issue Aug 22, 2024 · 1 comment · May be fixed by wixtoolset/wix#561
Open
1 task done

Regression: Localization variables no longer support a . (dot) in the Id #8713

philipp-naused opened this issue Aug 22, 2024 · 1 comment · May be fixed by wixtoolset/wix#561
Assignees
Labels
Milestone

Comments

@philipp-naused
Copy link

philipp-naused commented Aug 22, 2024

WiX Version

5.0.1

.NET or MSBuild or Visual Studio Version

9.0.100-preview.7.24407.12

HeatWave Version

1.0.4

Windows Version

Win10 22H2

Repro Repo

https://github.com/philipp-naused/WiXIssue_1

Repro Steps

  1. Create a basic MSI package project
  2. Add a . to the Id of a localization variable
  3. Run dotnet build

The Repro Repo has this already set up. Just run dotnet build

Actual Result

The build fails with this error:
error WIX0102: The localization variable !(loc.Downgrade) is unknown. Please ensure the variable is defined.

Expected Result

Localization variables should support having a . in the Id.
Other variables and properties do support this.
This is a regression from WiX 3, where this used to work.

I could not find any info about this being an intended breaking change.

Acknowledgements

  • I acknowledge that this is a fully completed bug report. It is not a question or attempt to get help debugging my issue (because those should be sent to Discussions).
@bevanweiss
Copy link

It's this line of code that is doing the capture of that second dot
https://github.com/wixtoolset/wix/blob/1011c5609bc12ded5188dc76484fc5075d24617c/src/wix/WixToolset.Core/Common.cs#L770

Which is putting the second portion into a 'scope' for the variable.
The first portion becomes the 'name', which the lookups use (hence why it's not finding a match).

I had thought that this scope part only applied to bind variables, and not WiX / Loc(alization) variables.
I might be wrong on this however. But I'll put forward a PR for it.

@barnson barnson added binder and removed triage labels Sep 17, 2024
@barnson barnson added this to the v6.0.0-rc.1 milestone Sep 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants