Manifest file for SysWOW64\mscoree.dll

tistou77

Moderator
Staff member
Messages
1,205
Reaction score
238
Hello

I'm trying to open the Manifest file for the SysWOW64\mscoree.dll file, but I only get "weird" characters

If someone could post me the content for Windows 11 24h2 (if it's 22h2/23h2 it doesn't matter)
I need the registry keys corresponding to this dll

It must be this file: x86_netfx-mscoree_dll_xxxxxxx.Manifest

Thanks for your help
 
Last edited:
WinSxS files use a special compression format, use SXSEXP tool to expand them.
Code:
sxsexp64.exe x86_netfx-mscoree_dll_31bf3856ad364e35_10.0.22621.1_none_bad72c55918a670d.manifest NEW.manifest
Processing target path  x86_netfx-mscoree_dll_31bf3856ad364e35_10.0.22621.1_none_bad72c55918a670d.manifest
x86_netfx-mscoree_dll_31bf3856ad364e35_10.0.22621.1_none_bad72c55918a670d.manifest => NEW.manifest
File size               1334 bytes

DCM_HEADER found, querying delta info.


DELTA_HEADER_INFO

 FileTypeSet            0000000000000001
 FileType               0000000000000001 (DELTA_FILE_TYPE_RAW)
 Flags                  0000000000020000
 TargetSize             000000000000315D
 TargetFileTime         D5D71680:019DB1DE
 TargetHashAlgId        00000000
 TargetHash->HashSize   00000000
Operation Successful

For example, W11 23H2:
Code:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v3" manifestVersion="1.0" description=".NET Framework component" displayName=".NET Framework NetFx-MSCOREE_DLL" copyright="Copyright (c) Microsoft Corporation. All Rights Reserved." xmlns:xsd="http://www.w3.org/2001/XMLSchema" isolated="false">
  <assemblyIdentity name="NetFx-MSCOREE_DLL" version="10.0.22621.1" processorArchitecture="x86" language="neutral" buildType="release" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS" />
  <file name="mscoree.dll" destinationPath="$(runtime.system32)\" sourceName="mscoree.dll" importPath="$(build.nttree)\netfx\WindowsBuilt\System\" sourcePath=".\">
    <dependencies />
    <securityDescriptor name="WRP_FILE_DEFAULT_SDDL" />
    <asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
      <dsig:Transforms>
        <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
      </dsig:Transforms>
      <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
      <dsig:DigestValue>NrC6ELu2V1ykpMveWF9uGbhrOoABSzw9gzX4Ydiuv6s=</dsig:DigestValue>
    </asmv2:hash>
  </file>
  <registryKeys>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLRMetaData.CorMetaDataDispenser.2">
      <registryValue name="" valueType="REG_SZ" value="Microsoft Common Language Runtime Meta Data" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLRMetaData.CorMetaDataDispenserRuntime.2\CLSID">
      <registryValue name="" valueType="REG_SZ" value="{1EC2DE53-75CC-11d2-9775-00A0C9B4D50C}" />
      <securityDescriptor name="WRP_REGKEY_DEFAULT_SDDL" />
    </registryKey>
    <registryKey keyName="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework" perUserVirtualization="Disable">
      <registryValue name="InstallRoot" valueType="REG_SZ" value="$(runtime.windows)\Microsoft.NET\Framework\" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CCWU.ComCallWrapper">
      <registryValue name="" valueType="REG_SZ" value="Com Call Wrapper Unmarshal Class" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLSID\{1EC2DE53-75CC-11d2-9775-00A0C9B4D50C}">
      <registryValue name="" valueType="REG_SZ" value="Microsoft Common Language Runtime Meta Data" />
      <securityDescriptor name="WRP_REGKEY_DEFAULT_SDDL" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLSID\{1EC2DE53-75CC-11d2-9775-00A0C9B4D50C}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}" />
    <registryKey keyName="HKEY_CLASSES_ROOT\CCWU.ComCallWrapper\CurVer">
      <registryValue name="" valueType="REG_SZ" value="CCWU.ComCallWrapper.1" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CCWU.ComCallWrapper\CLSID">
      <registryValue name="" valueType="REG_SZ" value="{3F281000-E95A-11d2-886B-00C04F869F04}" />
      <securityDescriptor name="WRP_REGKEY_DEFAULT_SDDL" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLSID\{3F281000-E95A-11d2-886B-00C04F869F04}\VersionIndependentProgID">
      <registryValue name="" valueType="REG_SZ" value="CCWU.ComCallWrapper" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLSID\{3F281000-E95A-11d2-886B-00C04F869F04}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}" />
    <registryKey keyName="HKEY_CLASSES_ROOT\CLRMetaData.CorMetaDataDispenser\CurVer">
      <registryValue name="" valueType="REG_SZ" value="CLRMetaData.CorMetaDataDispenser.2" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLSID\{3F281000-E95A-11d2-886B-00C04F869F04}\InprocServer32">
      <registryValue name="" valueType="REG_SZ" value="$(runtime.system32)\mscoree.dll" />
      <registryValue name="ThreadingModel" valueType="REG_SZ" value="Both" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLRMetaData.CorRuntimeHost\CurVer">
      <registryValue name="" valueType="REG_SZ" value="CLRMetaData.CorRuntimeHost.2" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CCWU.ComCallWrapper.1\CLSID">
      <registryValue name="" valueType="REG_SZ" value="{3F281000-E95A-11d2-886B-00C04F869F04}" />
      <securityDescriptor name="WRP_REGKEY_DEFAULT_SDDL" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLSID\{1EC2DE53-75CC-11d2-9775-00A0C9B4D50C}\NotInsertable" />
    <registryKey keyName="HKEY_CLASSES_ROOT\CLSID\{E5CB7A31-7512-11D2-89CE-0080C792E5D8}">
      <registryValue name="" valueType="REG_SZ" value="Microsoft Common Language Runtime Meta Data" />
      <registryValue name="MasterVersion" valueType="REG_DWORD" value="0x00000002" />
      <securityDescriptor name="WRP_REGKEY_DEFAULT_SDDL" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLSID\{E5CB7A31-7512-11D2-89CE-0080C792E5D8}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}" />
    <registryKey keyName="HKEY_CLASSES_ROOT\CLSID\{3F281000-E95A-11d2-886B-00C04F869F04}">
      <registryValue name="" valueType="REG_SZ" value="Com Call Wrapper Unmarshal Class" />
      <securityDescriptor name="WRP_REGKEY_DEFAULT_SDDL" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLSID\{E5CB7A31-7512-11D2-89CE-0080C792E5D8}\InprocServer32">
      <registryValue name="" valueType="REG_SZ" value="$(runtime.system32)\mscoree.dll" />
      <registryValue name="ThreadingModel" valueType="REG_SZ" value="Both" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLSID\{E5CB7A31-7512-11D2-89CE-0080C792E5D8}\ProgID">
      <registryValue name="" valueType="REG_SZ" value="CLRMetaData.CorMetaDataDispenser.2" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLSID\{CB2F6723-AB3A-11d2-9C40-00C04FA30A3E}">
      <registryValue name="" valueType="REG_SZ" value="Microsoft Common Language Runtime Meta Data" />
      <securityDescriptor name="WRP_REGKEY_DEFAULT_SDDL" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLSID\{CB2F6723-AB3A-11d2-9C40-00C04FA30A3E}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}" />
    <registryKey keyName="HKEY_CLASSES_ROOT\CLRMetaData.CorMetaDataDispenserRuntime">
      <registryValue name="" valueType="REG_SZ" value="Microsoft Common Language Runtime Meta Data" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLSID\{CB2F6723-AB3A-11d2-9C40-00C04FA30A3E}\ProgID">
      <registryValue name="" valueType="REG_SZ" value="CLRMetaData.CorRuntimeHost.2" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLSID\{3F281000-E95A-11d2-886B-00C04F869F04}\NotInsertable" />
    <registryKey keyName="HKEY_CLASSES_ROOT\CLSID\{1EC2DE53-75CC-11d2-9775-00A0C9B4D50C}\InprocServer32">
      <registryValue name="ThreadingModel" valueType="REG_SZ" value="Both" />
      <registryValue name="" valueType="REG_SZ" value="$(runtime.system32)\mscoree.dll" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLSID\{CB2F6723-AB3A-11d2-9C40-00C04FA30A3E}\NotInsertable" />
    <registryKey keyName="HKEY_CLASSES_ROOT\CLRMetaData.CorRuntimeHost.2">
      <registryValue name="" valueType="REG_SZ" value="Microsoft Common Language Runtime Host" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLRMetaData.CorMetaDataDispenserRuntime\CurVer">
      <registryValue name="" valueType="REG_SZ" value="CLRMetaData.CorMetaDataDispenserRuntime.2" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLRMetaData.CorMetaDataDispenserRuntime.2">
      <registryValue name="" valueType="REG_SZ" value="Microsoft Common Language Runtime Meta Data" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CCWU.ComCallWrapper.1">
      <registryValue name="" valueType="REG_SZ" value="Com Call Wrapper Unmarshal Class" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLSID\{CB2F6723-AB3A-11d2-9C40-00C04FA30A3E}\VersionIndependentProgID">
      <registryValue name="" valueType="REG_SZ" value="CLRMetaData.CorRuntimeHost" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLRMetaData.CorMetaDataDispenser">
      <registryValue name="" valueType="REG_SZ" value="Microsoft Common Language Runtime Meta Data" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLSID\{1EC2DE53-75CC-11d2-9775-00A0C9B4D50C}\VersionIndependentProgID">
      <registryValue name="" valueType="REG_SZ" value="CLRMetaData.CorMetaDataDispenserRuntime" />
    </registryKey>
    <registryKey keyName="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\.NET Runtime">
      <registryValue name="TypesSupported" valueType="REG_DWORD" value="0x00000007" />
      <securityDescriptor name="WRP_REGKEY_DEFAULT_SDDL" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLRMetaData.CorRuntimeHost">
      <registryValue name="" valueType="REG_SZ" value="Microsoft Common Language Runtime Host" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLSID\{3F281000-E95A-11d2-886B-00C04F869F04}\ProgID">
      <registryValue name="" valueType="REG_SZ" value="CCWU.ComCallWrapper.1" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLSID\{E5CB7A31-7512-11D2-89CE-0080C792E5D8}\VersionIndependentProgID">
      <registryValue name="" valueType="REG_SZ" value="CLRMetaData.CorMetaDataDispenser" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLRMetaData.CorRuntimeHost.2\CLSID">
      <registryValue name="" valueType="REG_SZ" value="{CB2F6723-AB3A-11d2-9C40-00C04FA30A3E}" />
      <securityDescriptor name="WRP_REGKEY_DEFAULT_SDDL" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLSID\{CB2F6723-AB3A-11d2-9C40-00C04FA30A3E}\InprocServer32">
      <registryValue name="" valueType="REG_SZ" value="$(runtime.system32)\mscoree.dll" />
      <registryValue name="ThreadingModel" valueType="REG_SZ" value="Both" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLSID\{E5CB7A31-7512-11D2-89CE-0080C792E5D8}\NotInsertable" />
    <registryKey keyName="HKEY_CLASSES_ROOT\CLSID\{1EC2DE53-75CC-11d2-9775-00A0C9B4D50C}\ProgID">
      <registryValue name="" valueType="REG_SZ" value="CLRMetaData.CorMetaDataDispenserRuntime.2" />
    </registryKey>
    <registryKey keyName="HKEY_CLASSES_ROOT\CLRMetaData.CorMetaDataDispenser.2\CLSID">
      <registryValue name="" valueType="REG_SZ" value="{E5CB7A31-7512-11D2-89CE-0080C792E5D8}" />
      <securityDescriptor name="WRP_REGKEY_DEFAULT_SDDL" />
    </registryKey>
  </registryKeys>
  <configuration xmlns:app="NetFx-MSCOREE_DLL" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
    <configurationSchema>
      <xsd:schema xmlns="NetFx-MSCOREE_DLL" targetNamespace="NetFx-MSCOREE_DLL">
        <xsd:element default="netfxcustomperfcounters.1.0 SharedPerfIPCBlock Cor_Private_IPCBlock Cor_Public_IPCBlock_" name="ObUnsecureGlobalNames" type="wcm:multiString" wcm:displayName="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel" wcm:handler="regkey('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel')" wcm:legacyName="ObUnsecureGlobalNames" wcm:legacyType="REG_MULTI_SZ" wcm:scope="allUsers" wcm:subScope="machineIndependent" />
      </xsd:schema>
    </configurationSchema>
  </configuration>
  <trustInfo>
    <security>
      <accessControl>
        <securityDescriptorDefinitions>
          <securityDescriptorDefinition name="WRP_REGKEY_DEFAULT_SDDL" sddl="O:S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464G:S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464D:P(A;CI;GA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;CI;GR;;;SY)(A;CI;GR;;;BA)(A;CI;GR;;;BU)(A;CI;GR;;;S-1-15-2-1)(A;CI;GR;;;S-1-15-3-1024-1065365936-1281604716-3511738428-1654721687-432734479-3232135806-4053264122-3456934681)" operationHint="replace" />
          <securityDescriptorDefinition name="WRP_FILE_DEFAULT_SDDL" sddl="O:S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464G:S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464D:P(A;;FA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;;GRGX;;;BA)(A;;GRGX;;;SY)(A;;GRGX;;;BU)(A;;GRGX;;;S-1-15-2-1)(A;;GRGX;;;S-1-15-2-2)S:(AU;FASA;0x000D0116;;;WD)" operationHint="replace" description="Default SDDL for Windows Resource Protected file" />
        </securityDescriptorDefinitions>
      </accessControl>
    </security>
  </trustInfo>
</assembly>
 
Thanks ;)

I open Manifests without problem with Notepad++ and for others it displays weird characters,
Never understood why

I'll test with this app
 
To retrieve these registry keys listed in the Manifest (and merge them into the registry), there is a quick way to do it ?

Thanks
 
MS has not officially "published" the 24h2 on its site (probably during October), but the "retail" version (for the public) is available (26100.1150)
 
I wrote a simple PS script to convert the manifest's XML to reg format. The manifest includes security descriptors for some of the keys, which you can't really recreate using a reg command (you need icacls commands).

But here's my best guess at the conversion.
 
To retrieve these registry keys listed in the Manifest (and merge them into the registry), there is a quick way to do it ?
What's the purpose behind wanting to integrate these, when the manifest will install them anyway?
 
What's the purpose behind wanting to integrate these, when the manifest will install them anyway?
If you're doing the weird sideload integration of library frameworks (outside of using DISM or component-based tools). For reference, search for abbodi's WA packs for .NET and DX9.
 
What's the purpose behind wanting to integrate these, when the manifest will install them anyway?
There is a "problem" with NTLite and the components of the 23h2 and 24h2 versions
While waiting for Nuhi to "return from vacation" (he is resting) and see this together, I'm testing it for myself.

Otherwise, of course I wouldn't bother with that if this manifest was kept :D

24H2 has not RTM'ed. It probably won't exit Preview until after the end of this summer, like 23H2 before it.
26100..xxx is indeed "RTM", MS sent build 26100.2 (or .3 I don't know anymore) to OEMs to pre-install it on their PCs

The "RTM" (we don't call it that anymore) published by MS probably in October will be 26100.xxxx (CU of the moment)
Unless MS finds a very big bug between now and then and forces it to change builds
 
Last edited:
I'm sorry, you guys really don't understand how MS release cycles work.

24H2 is not official until it reaches RTM or General Availability, and gets listed on the main W11 page. An Insider or Preview build means a release is available to partners or outsiders for extended testing. MS normally stops supporting a Windows release a certain number of years after the original GA date.

No OEM or partner will ever ship a *.2 release. That's complete BS, they will get early builds for partner testing.

People with poor knowledge of MS software development keep repeating a lot of nonsense online.

When a new Windows is planned, you get a Dev branch which is a completely different base build. Some features are tested in Dev, some of which will be promoted to the new designated Windows build. Some features won't make it and will get cut. This new build is eventually advertised as the Insider track, and it continues to evolve. It's possible some more test versions are released, most of these are simply branches where early features are pre-enabled (ie. ViveTool) in the install image.

MS doesn't reveal its Windows roadmap to outsiders, except to key partners and under Non-Disclosure Agreements. So there's a lot of speculation and enthusiasts picking through random clues.

26100 is the track where a Release Candidate will be picked later this summer, and after final tweaking will be promoted to RTM.
 
The MS team on X is talking bullshit then

In the meantime, we are on 24h2, not Insider and update via WU (or directly on MS catalog)
It suits us
And when MS publishes the 24h2 on its site, we will already have it

EDIT : And should also tell them here, they say the opposite :)
 
Last edited:
I wrote a simple PS script to convert the manifest's XML to reg format. The manifest includes security descriptors for some of the keys, which you can't really recreate using a reg command (you need icacls commands).

But here's my best guess at the conversion.
It doesn't work, registry keys are missing (linked to another manifest)
If I have time I will look and I would see this with nuhi (will have to fix this little bug anyway)

Thanks for help
 
Back
Top