Skip to content

Conversation

@merriemcgaw
Copy link
Member

Fix Windows Desktop Runtime installer bundle localization

This PR fixes critical issues preventing the Windows Desktop Runtime installer from displaying localized UI in non-English languages.

Issues Fixed

  1. Incorrect WixLocalization Culture/Language attributes - All 13 non-English .wxl files had Culture="en-us" Language="1033" instead of their correct locale values (e.g., de-DE/1031, es-ES/3082)

  2. Wrong Payload naming convention - bundle.wxs referenced $(lcid)\bundle.wxl but WixStandardBootstrapperApplication requires $(lcid)\thm.wxl

  3. Missing WixLocalization ItemGroup - bundle.wixproj didn't include the localization files in the build output

  4. Hardcoded English hyperlinks - Privacy Statement, Licensing Information, and Telemetry links were hardcoded in English in bundle.thm instead of using localization tokens

  5. Missing WelcomeDescription translations - Six locales (de-DE, fr-FR, ja-JP, pl-PL, pt-BR, es-ES) had English text instead of translations

Result

The installer now correctly displays translated UI in all 13 supported languages (zh-CN, zh-TW, cs-CZ, de-DE, es-ES, fr-FR, it-IT, ja-JP, ko-KR, pl-PL, pt-BR, ru-RU, tr-TR) with automatic detection based on Windows display language.

Tested with Spanish (es-ES) locale and spot-checked others- all UI elements including welcome text and hyperlinks now display correctly in Spanish.

Risk

Minimal. Only touching loc related files.

Fixes three critical issues preventing localized UI display:

1. Incorrect WixLocalization Culture/Language attributes
   - All 13 non-English .wxl files had Culture="en-us" Language="1033"
   - Fixed to correct locale values (de-DE/1031, fr-FR/1036, ja-JP/1041, etc.)

2. Wrong Payload naming convention in bundle.wxs
   - Changed Name from $(lcid)\bundle.wxl to $(lcid)\thm.wxl
   - WixStandardBootstrapperApplication requires thm.wxl naming

3. Missing WixLocalization ItemGroup in bundle.wixproj
   - Added to ensure localization files are included in build output

The installer now correctly displays translated UI in all 13 supported
languages (zh-TW, cs-CZ, de-DE, fr-FR, it-IT, ja-JP, ko-KR, pl-PL,
pt-BR, ru-RU, tr-TR, zh-CN, es-ES) with automatic detection based on
Windows display language.
The WelcomeDescription string was left in English in these locales:
- de-DE (1031) - German
- fr-FR (1036) - French
- ja-JP (1041) - Japanese
- pl-PL (1045) - Polish
- pt-BR (1046) - Portuguese
- es-ES (3082) - Spanish

Now properly translated in all languages.
The three hyperlinks on the Install page (Privacy Statement, Licensing
Information, and Telemetry) were hardcoded in English in bundle.thm
instead of using localization tokens.

Changed:
- Privacy Statement -> #(loc.PrivacyStatementLink)
- Licensing Information for .NET -> #(loc.EulaLink)
- Telemetry collection and opt-out -> #(loc.TelemetryLink)

All localized .wxl files already contain translations for these strings,
so this change enables proper display in all 13 supported languages.
@merriemcgaw merriemcgaw requested a review from mmitche October 17, 2025 00:36
@merriemcgaw merriemcgaw merged commit b7aa786 into release/10.0 Oct 17, 2025
8 checks passed
@merriemcgaw merriemcgaw deleted the fix-installer-localization branch October 17, 2025 02:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants