http://bugs.winehq.org/show_bug.cgi?id=35374
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |focht@gmx.net Component|-unknown |msi Summary|unimplemented function |SolidWorks 2013 fails to |mscoree.dll.CLRCreateInstan |setup CLR 4.0 hosting, |ce |complains about | |unimplemented function | |mscoree.dll.CLRCreateInstan | |ce (.NET 3.x mscoree.dll | |not updated/replaced by | |.NET 4.0 installer) Ever confirmed|0 |1
--- Comment #2 from Anastasius Focht focht@gmx.net --- Hello denis,
this is the result of having both .NET Frameworks, 3.5 and 4.0 installed into same WINEPREFIX.
CLRCreateInstance() is only available from CLR 4.0 or higher so this error is kind of expected if the native 'mscoree.dll' is from .NET 3.x installation.
The proper way for application code to determine/request the correct CLR would be:
1) load 'mscoree' dynamically 2) GetProcAddress() of 'CLRCreateInstance' -> if NULL, fall back to legacy path (CorBindToRuntimeEx) -> if non-NULL, call CLRCreateInstance() to get ICLRMetaHost -> if E_NOTIMPL, fall back to legacy path (CorBindToRuntimeEx)
Apparently the app wants CLR 4.x hosting and hard-binds to CLRCreateInstance() (unsafe).
You could try to reverse the .NET Framework installation order to have CLR 4.0 mscoree: -> .NET 4.0 first and then .NET 3.x
There might be some dialog boxes during install, stating 'failed to load requested runtime'. You can dismiss them.
Regards