Skip to content

[release/v7.6.6] Fix the W3C URIs in .resx resource files - #27917

Merged
Patrick Meinecke (SeeminglyScience) merged 1 commit into
PowerShell:release/v7.6.6from
SeeminglyScience:backport/release/v7.6.6/27729-f3648da94
Sep 1, 2026
Merged

Patrick Meinecke (SeeminglyScience) merged 1 commit into
PowerShell:release/v7.6.6from
SeeminglyScience:backport/release/v7.6.6/27729-f3648da94

Conversation

@SeeminglyScience

Copy link
Copy Markdown
Contributor

Backport of #27729 to release/v7.6.6

Triggered by Patrick Meinecke (@SeeminglyScience) on behalf of Dongbo Wang (@daxian-dbw)

Original CL Label: CL-BuildPackaging

/cc @PowerShell/powershell-maintainers

Impact

REQUIRED: Choose either Tooling Impact or Customer Impact (or both). At least one checkbox must be selected.

Tooling Impact

  • Required tooling change
  • Optional tooling change (include reasoning)

Fixes W3C namespace URIs in .resx files that were incorrectly changed to https, breaking the ManagedParser in the localization pipeline (required for the Native2Native localization work backported in #27916).

Customer Impact

  • Customer reported
  • Found internally

Regression

REQUIRED: Check exactly one box.

  • Yes
  • No

This is not a regression.

Testing

Mechanical 2-line substitution verified across all .resx files; cherry-picked cleanly with no conflicts.

Risk

REQUIRED: Check exactly one box.

  • High
  • Medium
  • Low

Mechanical revert of URIs in .resx namespace identifiers from https back to http (byte-exact match required for the localization pipeline's schema parser). No runtime behavior change; fixes a localization build error (BL1024).

This PR essentially reverts PowerShell#3331, which updated all W3C URIs in the `.resx` files from `http` to `https`.

That change turned out to be wrong. Those W3C URIs are namespace identifiers, not fetchable URLs -- they must be byte‑exact. Changing them to use `https` corrupted them, and thus `ManagedParser` in the localization pipeline can't recognize the schema, which resulted in the `BL1024 "child table to itself"` error.

- This PR makes pure, mechanical 2-line substitution in every `.resx` file: `https://www.w3.orghttp://www.w3.org`.
- The `ClipboardResources.resx` was using Schema version 1.3, and it's changed to version 2.0 as the rest `.resx` files in this PR.
Copilot AI lite review requested due to automatic review settings September 1, 2026 00:42
@SeeminglyScience Patrick Meinecke (SeeminglyScience) added the CL-BuildPackaging Indicates that a PR should be marked as a build or packaging change in the Change Log label Sep 1, 2026
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR backports the fix from #27729 to restore the byte-exact W3C namespace identifiers in .resx schemas (switching https://www.w3.org/... back to http://www.w3.org/...) to unblock the localization pipeline’s schema parser on release/v7.6.6.

Changes:

  • Revert W3C schema/namespace URIs in .resx <xsd:schema> and <xsd:import> blocks from https to http.
  • Update ClipboardResources.resx to the newer ResX schema/version metadata while also applying the W3C URI correction.

Reviewed changes

Copilot reviewed 149 out of 149 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/System.Management.Automation/resources/Authenticode.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/AuthorizationManagerBase.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/AutomationExceptions.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/CatalogStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/CimInstanceTypeAdapterResources.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/CmdletizationCoreResources.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/CommandBaseStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/ConsoleInfoErrorStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/CoreClrStubResources.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/CredUI.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/Credential.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/CredentialAttributeStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/DebuggerStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/DescriptionsStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/DiscoveryExceptions.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/EnumExpressionEvaluatorStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/ErrorCategoryStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/ErrorPackage.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/EtwLoggingStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/EventResource.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/EventingResources.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/ExperimentalFeatureStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/ExtendedTypeSystem.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/FileSystemProviderStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/FormatAndOutXmlLoadingStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/FormatAndOut_MshParameter.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/FormatAndOut_format_xxx.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/FormatAndOut_out_xxx.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/GetErrorText.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/HelpDisplayStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/HelpErrors.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/HistoryStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/HostInterfaceExceptionsStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/InternalCommandStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/InternalHostStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/InternalHostUserInterfaceStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/Logging.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/Metadata.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/MiniShellErrors.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/Modules.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/MshHostRawUserInterfaceStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/MshSignature.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/MshSnapInCmdletResources.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/MshSnapinInfo.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/NativeCP.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/PSCommandStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/PSConfigurationStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/PSDataBufferStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/PSListModifierStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/PSStyleStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/ParameterBinderStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/ParserStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/PathUtilsStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/PipelineStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/PowerShellStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/ProgressRecordStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/ProviderBaseSecurity.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/ProxyCommandStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/RegistryProviderStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/RemotingErrorIdStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/RunspaceInit.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/RunspacePoolStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/RunspaceStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/SecuritySupportStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/Serialization.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/SessionStateProviderBaseStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/SessionStateStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/StringDecoratedStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/SubsystemStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/SuggestionStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/TabCompletionStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/TransactionStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/TypesXmlStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/VerbDescriptionStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/System.Management.Automation/resources/WildcardPatternStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/AddMember.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/AddTypeStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/AliasCommandStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/ConvertFromStringData.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/ConvertHTMLStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/ConvertMarkdownStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/CsvCommandStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/Debugger.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/EventingStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/FormatAndOut_out_gridview.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/GetFormatDataStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/GetMember.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/GetRandomCommandStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/GetUptimeStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/HostStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/HttpCommandStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/ImplicitRemotingStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/ImportLocalizedDataStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/MatchStringStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/MeasureObjectStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/NewObjectStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/OutPrinterDisplayStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/SelectObjectStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/SendMailMessageStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/SortObjectStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/StartSleepStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/TestJsonCmdletStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/TraceCommandStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/UnblockFileStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/UpdateDataStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/UpdateListStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/UtilityCommonStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/VariableCommandStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/WebCmdletStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/WriteErrorStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Utility/resources/WriteProgressResourceStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Management/resources/ClearRecycleBinResources.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Management/resources/ClipboardResources.resx Update ResX schema/version metadata and revert W3C schema URIs to http.
src/Microsoft.PowerShell.Commands.Management/resources/CmdletizationResources.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Management/resources/ComputerInfoResources.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Management/resources/ComputerResources.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Management/resources/HotFixResources.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Management/resources/NavigationResources.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Management/resources/ProcessCommandHelpResources.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Management/resources/ProcessResources.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Management/resources/ServiceResources.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Management/resources/TestConnectionResources.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Management/resources/TestPathResources.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Management/resources/TimeZoneResources.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.ConsoleHost/resources/CommandLineParameterParserStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.ConsoleHost/resources/ConsoleControlStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.ConsoleHost/resources/ConsoleHostRawUserInterfaceStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.ConsoleHost/resources/ConsoleHostStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.ConsoleHost/resources/ConsoleHostUserInterfaceSecurityResources.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.ConsoleHost/resources/ConsoleHostUserInterfaceStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.ConsoleHost/resources/ManagedEntranceStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.ConsoleHost/resources/ProgressNodeStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.ConsoleHost/resources/TranscriptStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Security/resources/CertificateCommands.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Security/resources/CertificateProviderStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Security/resources/CmsCommands.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Security/resources/ExecutionPolicyCommands.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Security/resources/SecureStringCommands.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Security/resources/SignatureCommands.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Security/resources/UtilsStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.Management.UI.Internal/resources/public.GraphicalHostResources.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.Management.UI.Internal/resources/public.HelpWindowResources.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.Management.UI.Internal/resources/public.InvariantResources.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.Management.UI.Internal/resources/public.ShowCommandResources.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.Management.UI.Internal/resources/public.UICultureResources.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.Management.UI.Internal/resources/public.XamlLocalizableResources.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.Management.Infrastructure.CimCmdlets/resources/CimCmdletStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.Commands.Diagnostics/resources/GetEventResources.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.PowerShell.CoreCLR.Eventing/resources/DotNetEventingStrings.resx Revert W3C schema URIs to http in ResX schema header.
src/Microsoft.WSMan.Management/resources/WsManResources.resx Revert W3C schema URIs to http in ResX schema header.

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +62 to +63
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
Comment on lines +52 to +60
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
@SeeminglyScience
Patrick Meinecke (SeeminglyScience) merged commit 2205f8e into PowerShell:release/v7.6.6 Sep 1, 2026
43 of 45 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CL-BuildPackaging Indicates that a PR should be marked as a build or packaging change in the Change Log

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants