[Bug 16577] ntdll/loader/actctx: add support of SxS assembly binding redirects

WineHQ Bugzilla wine-bugs at winehq.org
Sat Feb 6 14:03:44 CST 2021


https://bugs.winehq.org/show_bug.cgi?id=16577

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                URL|http://nikonusa.com/softwar |https://web.archive.org/web
                   |e/NX/1.3/win/CNX130NSAEN.EX |/20210206175546/https://cdn
                   |E                           |-10.nikon-cdn.com/software/
                   |                            |NX/1.3/win/CNX130NSAEN.EXE
             Status|NEW                         |RESOLVED
         Resolution|---                         |ABANDONED

--- Comment #6 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

adding stable download links via Internet Archive:

https://web.archive.org/web/20210206175546/https://cdn-10.nikon-cdn.com/software/NX/1.3/win/CNX130NSAEN.EXE

https://web.archive.org/web/20210206180035/https://download.gamestar.de/public/51100/51163/Victoria-2-Demo.exe

--- snip ---
$ grep -Hrni bindingRedirect ~/.wine/drive_c/windows/winsxs

$ winetricks -q vcrun2005 vcrun2005sp1

$ grep -Hrni bindingRedirect ~/.wine/drive_c/windows/winsxs/policies/*CRT*

/home/focht/.wine/drive_c/windows/winsxs/policies/policy.8.0.Microsoft.VC80.CRT/8.0.50727.6195.policy:9:
           <bindingRedirect oldVersion="8.0.41204.256-8.0.50608.0"
newVersion="8.0.50727.6195"/>

/home/focht/.wine/drive_c/windows/winsxs/policies/policy.8.0.Microsoft.VC80.CRT/8.0.50727.6195.policy:10:
            <bindingRedirect oldVersion="8.0.50727.42-8.0.50727.6195"
newVersion="8.0.50727.6195"/>

/home/focht/.wine/drive_c/windows/winsxs/policies/policy.8.0.Microsoft.VC80.CRT/8.0.50727.42.policy:9:
           <bindingRedirect oldVersion="8.0.41204.256-8.0.50608.0"
newVersion="8.0.50727.42"/>
--- snip ---

--- snip ---
$ WINEDEBUG=+seh,+loaddll,+actctx wine ./CNX130NSAEN.EXE >>log.txt 2>&1
...
0114:trace:actctx:get_manifest_in_module looking for res #0002 in module
01910000 L"C:\\users\\focht\\Temp\\nsw6ef6.tmp\\Activation.dll"
0114:trace:actctx:parse_manifest parsing manifest loaded from (null) base dir
(null)
0114:trace:actctx:parse_assembly_elem (0031C314)
0114:trace:actctx:parse_assembly_identity_elem name=L"Microsoft.VC80.CRT"
version=8.0.50727.762 arch=L"x86"
0114:trace:actctx:parse_dependent_assembly_elem adding
name=L"Microsoft.VC80.CRT" version=8.0.50727.762 arch=L"x86"
0114:trace:actctx:parse_assembly_identity_elem name=L"Microsoft.VC80.CRT"
version=8.0.50608.0 arch=L"x86"
0114:trace:actctx:parse_dependent_assembly_elem adding
name=L"Microsoft.VC80.CRT" version=8.0.50608.0 arch=L"x86"
0114:trace:actctx:add_dependent_assembly_id reusing existing dependency for
L"Microsoft.VC80.CRT" arch L"x86" version 8.0.50608.0
0114:trace:actctx:lookup_assembly looking for name=L"Microsoft.VC80.CRT"
version=8.0.50727.762 arch=L"x86"
0114:trace:actctx:get_manifest_in_manifest_file loading manifest file
L"\\??\\C:\\windows\\winsxs\\manifests\\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_deadbeef.manifest"
0114:trace:actctx:parse_manifest parsing manifest loaded from
L"\\??\\C:\\windows\\winsxs\\manifests\\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_deadbeef.manifest"
base dir
L"x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_deadbeef"
0114:trace:actctx:parse_assembly_elem (0031C2EC)
0114:trace:actctx:parse_assembly_identity_elem name=L"Microsoft.VC80.CRT"
version=8.0.50727.6195 arch=L"x86"
0114:trace:actctx:parse_file_elem name=L"msvcr80.dll"
0114:warn:actctx:parse_file_elem asmv2:hash (undocumented) not supported
0114:trace:actctx:parse_file_elem name=L"msvcp80.dll"
0114:warn:actctx:parse_file_elem asmv2:hash (undocumented) not supported
0114:trace:actctx:parse_file_elem name=L"msvcm80.dll"
0114:warn:actctx:parse_file_elem asmv2:hash (undocumented) not supported
0114:trace:actctx:RtlActivateActivationContextEx 001A9BA0 cookie=1a00a0
...
0114:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2
L"MSVCR80.dll" 0031E728
..
0114:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\msvcrt.dll" at
01A00000: builtin
...
0114:trace:loaddll:build_module Loaded
L"C:\\windows\\winsxs\\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_deadbeef\\MSVCR80.dll"
at 78130000: native
0114:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2
L"MSVCP80.dll" 0031E728
0114:trace:actctx:RtlQueryInformationActivationContext 00000000 001A9BA0
0031E74C 3 001AACC0 1024 0031E770
0114:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2
L"MSVCR80.dll" 0031E388
0114:trace:actctx:RtlQueryInformationActivationContext 00000000 001A9BA0
0031E3AC 3 001AAE88 1024 0031E3D0
0114:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2
L"KERNEL32.dll" 0031E388
0114:trace:loaddll:build_module Loaded
L"C:\\windows\\winsxs\\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_deadbeef\\MSVCP80.dll"
at 7C420000: native
0114:trace:actctx:RtlDeactivateActivationContext 0 cookie=1a00a0
0114:trace:loaddll:build_module Loaded
L"C:\\users\\focht\\Temp\\nsw6ef6.tmp\\Activation.dll" at 01910000: native 
...
---snip ---

Resolving 'ABANDONED' here as the old behaviour can't be reproduced without
disabling builtins, removing manifests/policies and further WinSxS "tweaks" to
simulate pre-VC8-builtins/manifests state.

$ sha1sum CNX130NSAEN.EXE 
f31b38e3bcca17c8050c207b79315c9be23d582d  CNX130NSAEN.EXE

$ du -sh CNX130NSAEN.EXE 
63M    CNX130NSAEN.EXE

$ sha1sum Victoria-2-Demo.exe 
ab216c52d38de55d498edffce3ba90c9e8d6d547  Victoria-2-Demo.exe
$ du -sh Victoria-2-Demo.exe 
356M    Victoria-2-Demo.exe

Regards

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.


More information about the wine-bugs mailing list