[Bug 44475] New: Microsoft SQL Server 2008 Express Edition installer fails install .NET assemblies into GAC

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Feb 5 13:34:27 CST 2018


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

            Bug ID: 44475
           Summary: Microsoft SQL Server 2008 Express Edition installer
                    fails install .NET assemblies into GAC
           Product: Wine
           Version: 3.1
          Hardware: x86-64
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: msi
          Assignee: wine-bugs at winehq.org
          Reporter: focht at gmx.net
      Distribution: ---

Hello folks,

continuation of bug 34627

Download:

https://download.microsoft.com/download/c/2/8/c28cc7df-c9d2-453b-9292-ae7d242dfeca/SQLEXPR32_x86_ENU.exe

Prerequisite: 

* 'winetricks -q mspatcha' (bug 12501)
* 'winetricks -q dotnet40' (needed since it's run without Visual Studio main
installer)

Microsoft SQL Server 2008 Express Edition is an optional part of Visual Studio
2010 Express full installer.
The (sub) installer for Microsoft SQL Server 2008 Express Edition fails.
A C++/managed CLR exception is thrown, complaining about missing .NET
assemblies.

To reproduce, kill everything at the point of the crash dialog to avoid
rollback ('wineserver -k'). Restart the bootstrap installer again from:

'C:\\Program Files\\Microsoft SQL Server\\100\\Setup Bootstrap\\Release\\x86\\'

--- snip ---
$ wine ./setup100.exe
...
0009:fixme:shell:URL_ParseUrl failed to parse L"WindowsBase"
0009:fixme:shell:URL_ParseUrl failed to parse
L"Microsoft.SqlServer.Chainer.Infrastructure"
0009:fixme:shell:URL_ParseUrl failed to parse L"System"
0009:fixme:console:GetConsoleProcessList (0xdb8bd4,1): stub
0009:fixme:shell:URL_ParseUrl failed to parse
L"Microsoft.SqlServer.Configuration"
0009:fixme:shell:URL_ParseUrl failed to parse L"System.Xml"
0009:fixme:shell:URL_ParseUrl failed to parse
L"Microsoft.NetEnterpriseServers.ExceptionMessageBox"
0009:fixme:msi:MsiProvideAssemblyW
L"Microsoft.NetEnterpriseServers.ExceptionMessageBox, Version=10.0.0.0,
Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL"
L"C:\\Program Files\\Microsoft SQL Server\\100\\Setup
Bootstrap\\Release\\x86\\setup100.exe.config" 00000000 00000000 0x33c740
0x33c73c
0009:fixme:msi:MsiProvideAssemblyW
L"Microsoft.NetEnterpriseServers.ExceptionMessageBox, Version=10.0.0.0,
Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL"
(null) 00000000 00000000 0x33c740 0x33c73c

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or
assembly 'Microsoft.NetEnterpriseServers.ExceptionMessageBox, Version=10.0.0.0,
Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies.
File not found.
   at Microsoft.SqlServer.Chainer.Setup.Setup.PreloadAssemblies()
   at Microsoft.SqlServer.Chainer.Setup.Setup.Main() 
--- snip ---

Trace log of the part where it tries to preload/locate the .NET assemblies from
GAC:

--- snip ---
...
0071:0072:Call KERNEL32.CreateProcessW(003361e0 L"C:\\Program Files\\Microsoft
SQL Server\\100\\Setup Bootstrap\\Release\\x86\\setup100.exe",0032c3c4
L"\"C:\\Program Files\\Microsoft SQL Server\\100\\Setup
Bootstrap\\Release\\x86\\setup100.exe\"   /ACTION=INSTALL
/MEDIASOURCE=\"c:\\bd487f1735de2c1c339b6b49ac55\\\\\" /ACTION=INSTALL
/WORKFLOW=INSTALL /TIMESTAMP=20180205_120409 /LOGMARKER=
/MEDIASOURCE=\"c:\\bd487f1735de2c1c339b6b49ac55\\\\\"
/INSTALL"...,00000000,00000000,00000001,00000020,00000000,00000000,0032c35c,0032c3a8)
ret=01011bfc
...
0156:0157:Call KERNEL32.__wine_kernel_init() ret=7bc6a1b2
...
0145:0146:Call KERNEL32.lstrlenW(00178738
L"Microsoft.NetEnterpriseServers.ExceptionMessageBox,fileVersion=\"10.0.2531.0\",version=\"10.0.0.0000\",culture=\"neutral\",publicKeyToken=\"89845DCD8080CC91\",processorArchitecture=\"MSIL\"")
ret=79179ec4
0145:0146:Ret  KERNEL32.lstrlenW() retval=000000b3 ret=79179ec4
..
0156:0157:Call shlwapi.UrlGetPartW(0018ad20
L"Microsoft.NetEnterpriseServers.ExceptionMessageBox",0018c1c0,0033cf10,00000001,00000000)
ret=79181013
0156:0157:fixme:shell:URL_ParseUrl failed to parse
L"Microsoft.NetEnterpriseServers.ExceptionMessageBox"
0156:0157:Ret  shlwapi.UrlGetPartW() retval=00000001 ret=79181013
...
0156:0157:Call KERNEL32.GetFileAttributesW(0033ae2c
L"C:\\windows\\Microsoft.Net\\assembly\\GAC_MSIL\\policy.10.0.Microsoft.NetEnterpriseServers.ExceptionMessageBox")
ret=791de214
0156:0157:Ret  KERNEL32.GetFileAttributesW() retval=ffffffff ret=791de214
...
0156:0157:Call KERNEL32.GetFileAttributesW(0033c4bc
L"C:\\windows\\assembly\\GAC\\Microsoft.NetEnterpriseServers.ExceptionMessageBox\\10.0.0.0__89845dcd8080cc91\\Microsoft.NetEnterpriseServers.ExceptionMessageBox.dll")
ret=791de214
0156:0157:Ret  KERNEL32.GetFileAttributesW() retval=ffffffff ret=791de214
--- snip ---

'Microsoft.NetEnterpriseServers.ExceptionMessageBox.dll' is indeed nowhere
present in the WINEPREFIX.

The app installer log itself mentions the assemblies in question but nothing
suspicious:

--- snip ---
...
1: {D441BD04-E548-4F8E-97A4-1B66135BAAA8} 2:
{DABDC208-7DD5-4A0A-B5E9-53C857F7802D} 3:
<\Microsoft.NetEnterpriseServers.ExceptionMessageBox,fileVersion="10.0.2531.0",version="10.0.0.0000",culture="neutral",publicKeyToken="89845DCD8080CC91",processorArchitecture="MSIL"
1: {D441BD04-E548-4F8E-97A4-1B66135BAAA8} 2:
{A72EDA2D-14E7-40C7-BAA8-25961F369C5A} 3:
<\Microsoft.SqlServer.CustomControls,fileVersion="10.0.2531.0",version="10.0.0.0000",culture="neutral",publicKeyToken="89845DCD8080CC91",processorArchitecture="MSIL"
1: {D441BD04-E548-4F8E-97A4-1B66135BAAA8} 2:
{4CC7BE4F-04E1-4302-95CD-C0C29B6598B9} 3:
<\Microsoft.SqlServer.WizardFrameworkLite,fileVersion="10.0.1600.22",version="10.0.0.00000",culture="neutral",publicKeyToken="89845DCD8080CC91",processorArchitecture="MSIL"
...
File: Microsoft.NetEnterpriseServers.ExceptionMessageBox.dll, Directory: GAC_32
File: Microsoft.SqlServer.Configuration.Repl_ConfigExtension.dll, Directory:
CurrentSetupBootstrap_32
File: Microsoft.SqlServer.CustomControls.dll, Directory: GAC_32
File: Microsoft.SqlServer.WizardFrameworkLite.dll, Directory: GAC_32
...
File: Microsoft.NetEnterpriseServers.ExceptionMessageBox.dll,  Directory:
GAC_32,  Size: 132968
File: Microsoft.SqlServer.Configuration.Repl_ConfigExtension.dll,  Directory:
CurrentSetupBootstrap_32,  Size: 51048
File: Microsoft.SqlServer.CustomControls.dll,  Directory: GAC_32,  Size: 42840
File: Microsoft.SqlServer.WizardFrameworkLite.dll,  Directory: GAC_32,  Size:
594968
...
Action start 11:44:49: MsiPublishAssemblies.
Application Context:, Assembly
Name:Microsoft.SqlServer.GridControl,fileVersion="10.0.2531.0",version="10.0.0.0000",culture="neutral",publicKeyToken="89845DCD8080CC91",processorArchitecture="x86"
Application Context:, Assembly
Name:Microsoft.NetEnterpriseServers.ExceptionMessageBox,fileVersion="10.0.2531.0",version="10.0.0.0000",culture="neutral",publicKeyToken="89845DCD8080CC91",processorArchitecture="MSIL"
Application Context:, Assembly
Name:Microsoft.SqlServer.CustomControls,fileVersion="10.0.2531.0",version="10.0.0.0000",culture="neutral",publicKeyToken="89845DCD8080CC91",processorArchitecture="MSIL"
Application Context:, Assembly
Name:Microsoft.SqlServer.WizardFrameworkLite,fileVersion="10.0.1600.22",version="10.0.0.00000",culture="neutral",publicKeyToken="89845DCD8080CC91",processorArchitecture="MSIL"
Action ended 11:44:49: MsiPublishAssemblies. Return value 1. 
...
--- snip ---

The problem becomes visible when doing full trace and additional debugging.

--- snip ---
$ WINEDEBUG=+pid,+seh,+relay,+msi wine ./SQLExpr32_x86_enu.exe >>log.txt 2>&1
...
00c7:00c8:trace:msi:ACTION_CostFinalize Calculating file cost
...
00c7:00c8:trace:msi:set_target_path file L"RepairWizard_XML_32" resolves to
L"C:\\Program Files\\Microsoft SQL Server\\100\\Setup
Bootstrap\\Release\\x86\\RepairWizard.xml"
00c7:00c8:Call KERNEL32.GetFileAttributesW(0524e268 L"C:\\Program
Files\\Microsoft SQL Server\\100\\Setup
Bootstrap\\Release\\x86\\RepairWizard.xml") ret=7d173b71
00c7:00c8:Ret  KERNEL32.GetFileAttributesW() retval=ffffffff ret=7d173b71
...
00c7:00c8:Call KERNEL32.GetTempFileNameW(05262cd0
L"C:\\users\\focht\\Temp\\",7d1f0bf8 L"msi",00000002,05252740) ret=7d173875
00c7:00c8:Ret  KERNEL32.GetTempFileNameW() retval=00000002 ret=7d173875
00c7:00c8:Call KERNEL32.CreateDirectoryW(05252740
L"C:\\users\\focht\\Temp\\msi2.tmp",00000000) ret=7d17389b
00c7:00c8:Ret  KERNEL32.CreateDirectoryW() retval=00000001 ret=7d17389b
...
00c7:00c8:trace:msi:set_target_path file L"Repl_ExceptionMessageBox_dll_32"
resolves to
L"C:\\users\\focht\\Temp\\msi2.tmp\\Microsoft.NetEnterpriseServers.ExceptionMessageBox.dll"
....
00c7:00c8:trace:msi:set_target_path file
L"REPL_Microsoft_SqlServer_Configuration_Repl_ConfigExtension_dll_32" resolves
to L"C:\\Program Files\\Microsoft SQL Server\\100\\Setup
Bootstrap\\Release\\x86\\Microsoft.SqlServer.Configuration.Repl_ConfigExtension.dll"
00c7:00c8:Call KERNEL32.GetFileAttributesW(0524e3e0 L"C:\\Program
Files\\Microsoft SQL Server\\100\\Setup
Bootstrap\\Release\\x86\\Microsoft.SqlServer.Configuration.Repl_ConfigExtension.dll")
ret=7d173b71
00c7:00c8:Ret  KERNEL32.GetFileAttributesW() retval=ffffffff ret=7d173b71
...
00c7:00c8:trace:msi:calculate_install_state installing
L"Repl_ExceptionMessageBox_dll_32" (missing)
...
00c7:00c8:trace:msi:msi_resolve_file_source Working to resolve source of file
L"Repl_ExceptionMessageBox_dll_32"
00c7:00c8:trace:msi:msi_resolve_source_folder working to resolve L"GAC_32"
...
00c7:00c8:trace:msi:msi_resolve_source_folder    already resolved to
L"c:\\bd487f1735de2c1c339b6b49ac55\\PCUSOURCE\\x86\\setup\\1033\\Windows\\Gac\\"
...
00c7:00c8:Call KERNEL32.GetFileAttributesW(05468fc8
L"c:\\bd487f1735de2c1c339b6b49ac55\\PCUSOURCE\\x86\\setup\\1033\\Windows\\Gac\\_yafabdp.dll")
ret=7d1a61f3
00c7:00c8:Ret  KERNEL32.GetFileAttributesW() retval=00000020 ret=7d1a61f3
...
00c7:00c8:trace:msi:msi_resolve_file_source file
L"Repl_ExceptionMessageBox_dll_32" source resolves to
L"c:\\bd487f1735de2c1c339b6b49ac55\\PCUSOURCE\\x86\\setup\\1033\\Windows\\Gac\\_yafabdp.dll"
00c7:00c8:trace:msi:ACTION_InstallFiles copying
L"c:\\bd487f1735de2c1c339b6b49ac55\\PCUSOURCE\\x86\\setup\\1033\\Windows\\Gac\\_yafabdp.dll"
to
L"C:\\users\\focht\\Temp\\msi2.tmp\\Microsoft.NetEnterpriseServers.ExceptionMessageBox.dll"
00c7:00c8:trace:msi:copy_install_file Copying
L"c:\\bd487f1735de2c1c339b6b49ac55\\PCUSOURCE\\x86\\setup\\1033\\Windows\\Gac\\_yafabdp.dll"
to
L"C:\\users\\focht\\Temp\\msi2.tmp\\Microsoft.NetEnterpriseServers.ExceptionMessageBox.dll"
00c7:00c8:Call KERNEL32.CopyFileW(05468fc8
L"c:\\bd487f1735de2c1c339b6b49ac55\\PCUSOURCE\\x86\\setup\\1033\\Windows\\Gac\\_yafabdp.dll",0524e328
L"C:\\users\\focht\\Temp\\msi2.tmp\\Microsoft.NetEnterpriseServers.ExceptionMessageBox.dll",00000000)
ret=7d1a5bcc
00c7:00c8:Ret  KERNEL32.CopyFileW() retval=00000001 ret=7d1a5bcc
00c7:00c8:Call KERNEL32.SetFileAttributesW(0524e328
L"C:\\users\\focht\\Temp\\msi2.tmp\\Microsoft.NetEnterpriseServers.ExceptionMessageBox.dll",00000080)
ret=7d1a5bfa
00c7:00c8:Ret  KERNEL32.SetFileAttributesW() retval=00000001 ret=7d1a5bfa
...
00c7:00c8:Call KERNEL32.WideCharToMultiByte(00000000,00000000,0539c958 L"Action
start 12:08:59:
MsiPublishAssemblies.",ffffffff,00000000,00000000,00000000,00000000)
ret=7d1c6352
...
00c7:00c8:trace:msi:ACTION_MsiPublishAssemblies publishing
L"Repl_ExceptionMessageBox_dll_32"
...
00c7:00c8:Call advapi32.RegCreateKeyW(80000000,7d1fabc0
L"Installer\\Assemblies\\Global",0033e7f8) ret=7d187623
...
00c7:00c8:Call advapi32.RegSetValueExW(0000047c,056a5ab8
L"Microsoft.NetEnterpriseServers.ExceptionMessageBox,fileVersion=\"10.0.2531.0\",version=\"10.0.0.0000\",culture=\"neutral\",publicKeyToken=\"89845DCD8080CC91\",processorArchitecture=\"MSIL\"",00000000,00000007,0033e792,00000056)
ret=7d1878d3
...
00c7:00c8:Call KERNEL32.WideCharToMultiByte(00000000,00000000,05265aa0 L"Action
ended 12:08:56: InstallFiles. Return value
1.",ffffffff,00000000,00000000,00000000,00000000) ret=7d1c6352
...
00c7:00c8:Call KERNEL32.DeleteFileW(0524e328
L"C:\\users\\focht\\Temp\\msi2.tmp\\Microsoft.NetEnterpriseServers.ExceptionMessageBox.dll")
ret=7d1c1b09
00c7:00c8:Ret  KERNEL32.DeleteFileW() retval=00000001 ret=7d1c1b09
... 
--- snip ---

Although Wine MSI does publish(!) the assemblies in registry, the global shared
assemblies are never installed into GAC.

Debug session of "install files" action (attach with debugger to sub-process):

--- snip ---
Wine-dbg>bt

Backtrace:
=>0 0x7d12b5a0 ACTION_InstallFiles+0x308(package=0x69a1440)
[/home/focht/projects/wine/wine.repo/src/dlls/msi/files.c:415] in msi
(0x0033e888)
  1 0x7d106c2f ACTION_HandleStandardAction+0x154(package=0x69a1440,
action="InstallFiles")
[/home/focht/projects/wine/wine.repo/src/dlls/msi/action.c:7874] in msi
(0x0033ea58)
  2 0x7d106dc7 ACTION_PerformAction+0x67(package=0x69a1440,
action="InstallFiles", script=0xffffffff)
[/home/focht/projects/wine/wine.repo/src/dlls/msi/action.c:7902] in msi
(0x0033ea98)
  3 0x7d0f4fd7 ITERATE_Actions+0xf2(row=0x699f140, param=0x69a1440)
[/home/focht/projects/wine/wine.repo/src/dlls/msi/action.c:513] in msi
(0x0033eae8)
  4 0x7d1443b2 MSI_IterateRecords+0x82(view=0x699ecb8, count=0x0(nil),
func=0x7d0f4ee4, param=0x69a1440)
[/home/focht/projects/wine/wine.repo/src/dlls/msi/msiquery.c:188] in msi
(0x0033eb18)
  5 0x7d0f524b ACTION_ProcessExecSequence+0xe8(package=0x69a1440)
[/home/focht/projects/wine/wine.repo/src/dlls/msi/action.c:578] in msi
(0x0033eb58)
  6 0x7d1012a9 ACTION_ExecuteAction+0x342(package=0x69a1440)
[/home/focht/projects/wine/wine.repo/src/dlls/msi/action.c:5638] in msi
(0x0033eb98)
  7 0x7d101506 ACTION_INSTALL+0x76(package=0x69a1440)
[/home/focht/projects/wine/wine.repo/src/dlls/msi/action.c:5695] in msi
(0x0033ebb8)
  8 0x7d106c2f ACTION_HandleStandardAction+0x154(package=0x69a1440,
action="INSTALL")
[/home/focht/projects/wine/wine.repo/src/dlls/msi/action.c:7874] in msi
(0x0033ed88)
  9 0x7d106dc7 ACTION_PerformAction+0x67(package=0x69a1440, action="INSTALL",
script=0xffffffff)
[/home/focht/projects/wine/wine.repo/src/dlls/msi/action.c:7902] in msi
(0x0033edc8)
  10 0x7d10735f MSI_InstallPackage+0x3ad(package=0x69a1440,
szPackagePath="c:\4d5a3e54918d6b5956e0665f28e2\PCUSOURCE\x86\setup\1033\SqlSupport.msi",
szCommandLine="ADDLOCAL = "SupportFiles" REBOOT = "ReallySuppress"
MEDIAPACKAGEPATH = "\x86\setup\1033\"")
[/home/focht/projects/wine/wine.repo/src/dlls/msi/action.c:8047] in msi
(0x0033ee28)
  11 0x7d139588 MsiInstallProductW+0xbd(szPackagePath=<couldn't compute
location>, szCommandLine=<couldn't compute location>)
[/home/focht/projects/wine/wine.repo/src/dlls/msi/msi.c:251] in msi
(0x0033ee68)
  12 0x066efe74 (0x0033eec0) 

...

Wine-dbg>info locals

0x7d12b5a0 ACTION_InstallFiles+0x308: (0033e888)
      MSIPACKAGE* package=0x69a1440 (parameter [EBP+8])
      MSIMEDIAINFO* mi=0x5570ab8 (local [EBP-20])
      UINT rc=0 (local [EBP-12])
      MSIFILE* file=0x68e9ba8 (local [EBP-16])
      WCHAR*
source="c:\4d5a3e54918d6b5956e0665f28e2\PCUSOURCE\x86\setup\1033\Windows\Gac\_yafabdp.dll"
(local [EBP-40]) 

Wine-dbg>s

msi_is_global_assembly () at
/home/focht/projects/wine/wine.repo/src/dlls/msi/action.c:2187
2187    {

Wine-dbg>n
2188        return comp->assembly && !comp->assembly->application;

Wine-dbg>p *comp
{entry={next=0x68d7b98, prev=0x68d77a8},
Component="Repl_ExceptionMessageBox_dll_32",
ComponentId="{DABDC208-7DD5-4A0A-B5E9-53C857F7802D}", Directory="GAC_32",
Attributes=0x800, Condition=0x0(nil),
KeyPath="Repl_ExceptionMessageBox_dll_32", Installed=INSTALLSTATE_ABSENT,
ActionRequest=INSTALLSTATE_LOCAL, Action=INSTALLSTATE_LOCAL, ForceLocalState=0,
Enabled=0x1, Cost=0x20768, RefCount=0x1,
FullKeypath="<\Microsoft.NetEnterpriseServers.ExceptionMessageBox,fileVersion="10.0.2531.0",version="10.0.0.0000",culture="neutral",publicKeyToken="89845DCD8080CC91",processorArchitecture="MSIL"",
AdvertiseString=0x0(nil), assembly=0x68d7488, num_clients=0x1, anyAbsent=0,
hasAdvertisedFeature=0, hasLocalFeature=0x1, hasSourceFeature=0}

Wine-dbg>p *comp->assembly
{feature="SupportFiles", manifest="Repl_ExceptionMessageBox_dll_32",
application=0x0(nil), attributes=0,
display_name="Microsoft.NetEnterpriseServers.ExceptionMessageBox,fileVersion="10.0.2531.0",version="10.0.0.0000",culture="neutral",publicKeyToken="89845DCD8080CC91",processorArchitecture="MSIL"",
tempdir="C:\users\focht\Temp\msi2.tmp", installed=0, clr_version={0, 0, 0, 0}}

Wine-dbg>p *file

{entry={next=0x68e9f10, prev=0x68e9980},
File="Repl_ExceptionMessageBox_dll_32", Component=0x68d7968,
FileName="Microsoft.NetEnterpriseServers.ExceptionMessageBox.dll",
ShortName="_yafabdp.dll",
LongName="Microsoft.NetEnterpriseServers.ExceptionMessageBox.dll",
FileSize=0x20768, Version="10.0.2531.0", Language="0", Attributes=0,
Sequence=0x8a, state=msifs_installed,
TargetPath="C:\users\focht\Temp\msi2.tmp\Microsoft.NetEnterpriseServers.ExceptionMessageBox.dll",
IsCompressed=0, hash={dwFileHashInfoSize=0, dwData={0, 0, 0, 0}}, disk_id=0x1} 
--- snip ---

Source:

https://source.winehq.org/git/wine.git/blob/f9181daa1ddc2c10d3b6ddd4610bc1421cfd0f42:/dlls/msi/files.c#l437

--- snip ---
...
 437     LIST_FOR_EACH_ENTRY( file, &package->files, MSIFILE, entry )
 438     {
 439         MSICOMPONENT *comp = file->Component;
 440 
 441         if (!msi_is_global_assembly( comp ) || comp->assembly->installed
||
 442             (file->state != msifs_missing && file->state !=
msifs_overwrite)) continue;
 443 
 444         rc = msi_install_assembly( package, comp );
 445         if (rc != ERROR_SUCCESS)
 446         {
 447             ERR("Failed to install assembly\n");
 448             rc = ERROR_INSTALL_FAILURE;
 449             break;
 450         }
 451         file->state = msifs_installed;
 452     }
--- snip ---

'file->state' was already set to 'installed' in the file install part (main
loop of 'ACTION_InstallFiles') hence the global .NET assembly installation part
is not executed due to line 441/442 "or" condition. 

With that part fixed, the installer succeeds.

--- snip ---
...
00c6:00c7:Call KERNEL32.CreateFileW(0644a3a8
L"C:\\users\\focht\\Temp\\msi2.tmp\\Microsoft.NetEnterpriseServers.ExceptionMessageBox.dll",80000000,00000001,00000000,00000003,08000000,00000000)
ret=603be944
00c6:00c7:Ret  KERNEL32.CreateFileW() retval=000003fc ret=603be944
...
00c6:00c7:trace:msi:msi_install_assembly installing assembly
L"C:\\users\\focht\\Temp\\msi2.tmp\\Microsoft.NetEnterpriseServers.ExceptionMessageBox.dll" 
...
00c6:00c7:Call KERNEL32.CopyFileW(066efe40
L"C:\\users\\focht\\Temp\\msi2.tmp\\Microsoft.NetEnterpriseServers.ExceptionMessageBox.dll",066f0320
L"C:\\windows\\assembly\\GAC_MSIL\\Microsoft.NetEnterpriseServers.ExceptionMessageBox\\10.0.0.0__89845dcd8080cc91\\Microsoft.NetEnterpriseServers.ExceptionMessageBox.dll",00000000)
ret=7d41bc50
00c6:00c7:Ret  KERNEL32.CopyFileW() retval=00000001 ret=7d41bc50
...
--- snip --

Interestingly these .NET assemblies get installed in
'c:\windows\Microsoft.NET\assembly' (GAC location prior .NET 4.0) - despite
only .NET 4.0 Framework/CLR being present in the prefix.

--- snip ---
$ tree --charset=ANSI windows/assembly/
windows/assembly/
|-- GAC_32
|   `-- Microsoft.SqlServer.GridControl
|       `-- 10.0.0.0__89845dcd8080cc91
|           `-- Microsoft.SqlServer.GridControl.dll
`-- GAC_MSIL
    |-- Microsoft.NetEnterpriseServers.ExceptionMessageBox
    |   `-- 10.0.0.0__89845dcd8080cc91
    |       `-- Microsoft.NetEnterpriseServers.ExceptionMessageBox.dll
    |-- Microsoft.SqlServer.CustomControls
    |   `-- 10.0.0.0__89845dcd8080cc91
    |       `-- Microsoft.SqlServer.CustomControls.dll
    `-- Microsoft.SqlServer.WizardFrameworkLite
        `-- 10.0.0.0__89845dcd8080cc91
            `-- Microsoft.SqlServer.WizardFrameworkLite.dll

10 directories, 4 files
--- snip ---

This seems ok, the 'Target Runtime' property in these assemblies is indeed set
to v2.0.5027 (can be also viewed using 'ILSpy', 'Reflector' etc.).

$ sha1sum SQLEXPR32_x86_ENU.exe 
5f6c9597a592df4a5d969259a8e1592ecf838515  SQLEXPR32_x86_ENU.exe

$ du -sh SQLEXPR32_x86_ENU.exe 
62M    SQLEXPR32_x86_ENU.exe

$ wine --version
wine-3.1

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