Skip to content
Snippets Groups Projects
Verified Commit 815240c3 authored by Aaron Hill's avatar Aaron Hill
Browse files

wintypes: Partially implement RoResolveNamespace and add 'Windows.winmd'

The Visual Studio 2022 installer needs to be able to lookup a valid
WinMD file for the 'Windows.Networking.Connectivity' namespace
in order for the installation to start.

A normal Windows installation contains lots of individual
'.winmd' files (e.g. 'Windows.Networking.winmd'), which we
cannot redistribute. Fortunately, Microsoft provides an open-source
project called 'windows-rs', which contains a combined 'Windows.winmd'
file that is explicitly MIT-licensed:
https://github.com/microsoft/windows-rs/blob/master/crates/libs/bindgen/default/Windows.winmd

Make RoResolveNamespace resolve anything starting with 'Windows' by just
pointing to this giant file. A full implementation will require us to
actually walk the 'WinMetadata' directory (if the caller provides
a custom path) and parse the matched '.winmd' file. However, this
implementation is good enough for Visual Studio 2022

To actually run the vs2022 installer, a patch for
the SHELL_execute trailing-space bug https://bugs.winehq.org/show_bug.cgi?id=56940
is needed: wine/wine!6079
parent 75f8de6b
No related branches found
No related tags found
No related merge requests found
Pipeline #30280 failed