http://bugs.winehq.org/show_bug.cgi?id=33513
Bug #: 33513 Summary: Microsoft SQL Server 2005 Express Edition: installer fails complaining about corrupted .NET installation Product: Wine Version: 1.5.29 Platform: x86 URL: http://go.microsoft.com/fwlink/?linkid=65212 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: mscoree AssignedTo: wine-bugs@winehq.org ReportedBy: djelinski1@gmail.com Classification: Unclassified
Created attachment 44358 --> http://bugs.winehq.org/attachment.cgi?id=44358 console output
After fixing bug 33510 the installer complains about non-existent or corrupted .NET installation when running with wine mono. Winetricks dotnet20 works around.
Attaching the console output. Missing registration for class Microsoft.SqlServer.Setup.SetupBootstrapWizard (guid 100d062d-4823-4c3e-be65-4da9b82a874b reported near the end of log) is likely the culprit.
A workaround for bug 32048 is needed to get that far.
http://bugs.winehq.org/show_bug.cgi?id=33513
--- Comment #1 from Daniel Jelinski djelinski1@gmail.com 2013-05-07 13:42:09 CDT --- Actually the class is registered. Registration points to mscoree.dll. create_monodata fails because CodeBase registry value is absent. The assembly is copied to GAC_MSIL, and its strong name is stored in Assembly registry value. Apparently it is enough for native dotnet to load the class successfully.
http://bugs.winehq.org/show_bug.cgi?id=33513
Daniel Jelinski djelinski1@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Microsoft SQL Server 2005 |Microsoft SQL Server 2005 |Express Edition: installer |Express Edition: installer |fails complaining about |fails with builtin mono |corrupted .NET installation |(Wine requires CodeBase | |registry value when loading | |.NET COM classes)
--- Comment #2 from Daniel Jelinski djelinski1@gmail.com 2013-05-17 14:07:03 CDT --- This is the problematic piece of code from mscoree/corruntimehost:
1236 HRESULT create_monodata(REFIID riid, LPVOID *ppObj ) 1237 { 1238 static const WCHAR wszCodebase[] = {'C','o','d','e','B','a','s','e',0}; ... 1278 dwBufLen = MAX_PATH + 8; 1279 res = RegGetValueW( key, NULL, wszCodebase, RRF_RT_REG_SZ, NULL, codebase, &dwBufLen); 1280 if(res != ERROR_SUCCESS) 1281 { 1282 WARN("CodeBase value cannot be found.\n"); 1283 hr = CLASS_E_CLASSNOTAVAILABLE; 1284 goto cleanup; 1285 }
According to regasm's documentation [1], codebase should not be set for assemblies installed in GAC. The assembly in question is installed in GAC.
[1] http://msdn.microsoft.com/en-us/library/tzat5yw6%28v=vs.80%29.aspx
http://bugs.winehq.org/show_bug.cgi?id=33513
Vincent Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |madewokherd@gmail.com
--- Comment #3 from Vincent Povirk madewokherd@gmail.com 2013-05-28 16:05:11 CDT --- We still need a way to locate the assembly that contains the class. Is there something else we can use in the registry? (I'd look myself, but I'm not able to start the installer.)
http://bugs.winehq.org/show_bug.cgi?id=33513
--- Comment #4 from Vincent Povirk madewokherd@gmail.com 2013-05-28 16:06:23 CDT --- To be more exact, we need a way to identify the assembly. We can locate it using the gac as long as we have a name.
http://bugs.winehq.org/show_bug.cgi?id=33513
--- Comment #5 from Daniel Jelinski djelinski1@gmail.com 2013-05-28 23:40:13 CDT --- Hi Vincent, I forgot to mention that the installer needs native mspatcha from winetricks. With that you should be able to start. We have the assembly's strong name: [HKEY_CLASSES_ROOT\CLSID{100D062D-4823-4C3E-BE65-4DA9B82A874B}\InprocServer32\9.0.242.0] Assembly="Microsoft.SqlServer.Setup, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" The file is located in: GAC_MSIL/Microsoft.SqlServer.Setup/9.0.242.0__89845dcd8080cc91/Microsoft.SqlServer.Setup.dll In general I'm not sure if we can assume that the file name is the same as the assembly name, but in this case this assumption will work.
http://bugs.winehq.org/show_bug.cgi?id=33513
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |leslie_alistair@hotmail.com
http://bugs.winehq.org/show_bug.cgi?id=33513
--- Comment #6 from Hans Leidekker hans@meelstraat.net 2013-05-29 03:05:14 CDT --- (In reply to comment #5)
We have the assembly's strong name: [HKEY_CLASSES_ROOT\CLSID{100D062D-4823-4C3E-BE65-4DA9B82A874B}\InprocServer32\9.0.242.0] Assembly="Microsoft.SqlServer.Setup, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" The file is located in: GAC_MSIL/Microsoft.SqlServer.Setup/9.0.242.0__89845dcd8080cc91/Microsoft.SqlServer.Setup.dll In general I'm not sure if we can assume that the file name is the same as the assembly name, but in this case this assumption will work.
IAssemblyCache::QueryAssemblyInfo is probably what you're looking for (the one in fusion.dll, not to be confused with the one in sxs.dll).
http://bugs.winehq.org/show_bug.cgi?id=33513
--- Comment #7 from Daniel Jelinski djelinski1@gmail.com 2013-05-30 07:51:09 CDT --- (In reply to comment #6)
IAssemblyCache::QueryAssemblyInfo is probably what you're looking for (the one in fusion.dll, not to be confused with the one in sxs.dll).
Thanks Hans, that helped a lot. Patch sent.
http://bugs.winehq.org/show_bug.cgi?id=33513
Daniel Jelinski djelinski1@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |1319515173f5c0ea303a8087904 | |ad72d8698c99f Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #8 from Daniel Jelinski djelinski1@gmail.com 2013-06-05 15:23:15 CDT --- Fixed.
http://bugs.winehq.org/show_bug.cgi?id=33513
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #9 from Alexandre Julliard julliard@winehq.org 2013-06-07 15:00:10 CDT --- Closing bugs fixed in 1.6-rc1.
https://bugs.winehq.org/show_bug.cgi?id=33513
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, Installer URL|http://go.microsoft.com/fwl |https://web.archive.org/web |ink/?linkid=65212 |/20130318195510/http://down | |load.microsoft.com/download | |/6/C/7/6C7458CA-8B07-411E-9 | |E3B-0DED20512696/SQLEXPR32. | |EXE CC| |focht@gmx.net