[Bug 45333] Add diagnostic 'mscoree.dll.CorIsLatestSvc' stub (NGEN service ) to hint at broken Microsoft .NET Frameworks installation ( Wine-Mono not uninstalled and 'mscoree.dll' placeholders not removed prior install)

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Jul 13 17:35:42 CDT 2018


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Add diagnostic              |Add diagnostic
                   |'mscoree.dll.CorGetSvc'     |'mscoree.dll.CorIsLatestSvc
                   |stub to hint at broken      |' stub (NGEN service) to
                   |Microsoft .NET Frameworks   |hint at broken Microsoft
                   |installation (Wine-Mono not |.NET Frameworks
                   |uninstalled and             |installation (Wine-Mono not
                   |'mscoree.dll' placeholders  |uninstalled and
                   |not removed prior install)  |'mscoree.dll' placeholders
                   |                            |not removed prior install)
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED
      Fixed by SHA1|                            |27f2f4199fde170a1ff2b309050
                   |                            |6ad3c9e6d1bfa

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

the NGEN service side now prints diagnostics.

https://source.winehq.org/git/wine.git/commitdiff/27f2f4199fde170a1ff2b3090506ad3c9e6d1bfa

Thanks Louis.

NOTE: MSI (CA) server is currently broken/regressed for 64-bit WINEPREFIXes, so
a broken .NET installation can't be tested there.

Prepare a broken 32-bit WINEPREFIX:

--- snip ---
$ wineserver -k
$ rm -rf .wine
$ export WINEARCH=win32
$ wineboot

$ wine uninstaller --list
{BB9BDB97-C247-4F20-B710-8B6765F67105}|||Wine Gecko (32-bit)
{E45D8920-A758-4088-B6C6-31DBB276992E}|||Wine Mono

$ wine uninstaller --remove {E45D8920-A758-4088-B6C6-31DBB276992E}

# to be really sure 'mscoree.dll' won't get updated -> keeps Wine's placeholder
$ winetricks win7

# run .NET 4.0 installer without 'winetricks'
$ wine ./dotNetFx40_Full_x86_x64.exe
...

# really check if placeholder is still there
$ winedump .wine/drive_c/windows/system32/mscoree.dll 
Contents of .wine/drive_c/windows/system32/mscoree.dll: 5236 bytes

*** This is a Wine fake DLL ***

File Header
  Machine:                      014C (i386)
  Number of Sections:           3
  TimeDateStamp:                00000000 (Thu Jan  1 01:00:00 1970) offset 104
  PointerToSymbolTable:         00000000
  NumberOfSymbols:              00000000
  SizeOfOptionalHeader:         00E0
  Characteristics:              2022
    EXECUTABLE_IMAGE
    LARGE_ADDRESS_AWARE
    DLL
...
--- snip ---

Test by trigger .NET GAC update:

--- snip ---
$ wine "c:\\windows\\Microsoft.NET\\Framework\\v4.0.30319\\ngen.exe" update
0012:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
0012:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
0016:fixme:service:svcctl_ChangeServiceConfig2W SERVICE_CONFIG_FAILURE_ACTIONS
not implemented: period 86400 msg (null) cmd (null)
0019:fixme:process:SetProcessShutdownParameters (00000380, 00000000): partial
stub.
0019:err:winediag:CorIsLatestSvc If this function is called, it is likely the
result of a broken .NET installation
0019:fixme:advapi:RegisterEventSourceW ((null),L".NET Runtime Optimization
Service"): stub
0019:fixme:advapi:ReportEventW
(0xcafe4242,0x0001,0x0000,0x0000044f,(nil),0x0001,0x00000000,0x76f9d0,(nil)):
stub
0019:err:eventlog:ReportEventW L".NET Runtime Optimization Service
(clr_optimization_v4.0.30319_32) - Tried to start a service that wasn't the
latest version of CLR Optimization service. Will shutdown\n"
0019:fixme:advapi:DeregisterEventSource (0xcafe4242) stub
0009:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
0009:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
wine: Call from 0x7b447132 to unimplemented function mscoree.dll.CorGetSvc,
aborting
Unknown exception
--- snip ---

-> "0019:err:winediag:CorIsLatestSvc If this function is called, it is likely
the result of a broken .NET installation"

We should still fix the NGEN client side and add 'mscoree.dll.CorGetSvc' stub
as I explained in earlier comment(s).

I will create another ticket to cover the client side.

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