.NET 2.0 fails compiling assemblies on OSX

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
Locked
JMS
Level 2
Level 2
Posts: 12
Joined: Sat Jul 05, 2008 3:10 pm

.NET 2.0 fails compiling assemblies on OSX

Post by JMS »

I'm running 1.1.1 on Mac OS X 10.5.4.
I have searched about this issue and found nothing and people are running .net apps fine so I think this is a particular problem with Darwine (osx build)

.NET installs fine via winetricks and then I can run simple .net apps like QuickGUIDGen, but having a look to the NGen log I noticed there were no assemblies installed (It's supposed to install mscorlib and so after the install.

I tried to install manually:

Code: Select all

wine ngen.exe install "mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /NoDependencies
and installs fine,

Code: Select all

Microsoft (R) CLR Native Image Generator - Version 2.0.50727.42
Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.
Installing assembly mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
but later, when I do

Code: Select all

wine ngen executequeueditems
I got

Code: Select all

Exception from HRESULT: 0x80070057 (E_INVALIDARG)
This happens with win2k, with winxp you get E_Accessdenied everywhere
I have checked the keys corresponding to the CLR service in the Registry as well as .net ones and everything seems ok.

I would try with winxp if someone tells me how to pass over access_denied and so (I know sudo doesn't work)

I need this for Autocad 2008 (.net 1.1 is fully working on the other hand, we have autocad 2005 working like a charm). A single command "layer" depends on it, but it's a very important one.
James McKenzie

.NET 2.0 fails compiling assemblies on OSX

Post by James McKenzie »

JMS wrote:
I'm running 1.1.1 on Mac OS X 10.5.4.
I have searched about this issue and found nothing and people are running .net apps fine so I think this is a particular problem with Darwine (osx build)

.NET installs fine via winetricks and then I can run simple .net apps like QuickGUIDGen, but having a look to the NGen log I noticed there were no assemblies installed (It's supposed to install mscorlib and so after the install.

I tried to install manually:


Code:
wine ngen.exe install "mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /NoDependencies



and installs fine,


Code:
Microsoft (R) CLR Native Image Generator - Version 2.0.50727.42
Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.
Installing assembly mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089



but later, when I do


Code:
wine ngen executequeueditems



I got


Code:
Exception from HRESULT: 0x80070057 (E_INVALIDARG)



This happens with win2k, with winxp you get E_Accessdenied everywhere
I have checked the keys corresponding to the CLR service in the Registry as well as .net ones and everything seems ok.

I would try with winxp if someone tells me how to pass over access_denied and so (I know sudo doesn't work)

I need this for Autocad 2008 (.net 1.1 is fully working on the other hand, we have autocad 2005 working like a charm). A single command "layer" depends on it, but it's a very important one.
I am going to look into this issue as well, possibly this weekend. It
appears that CLR is not installing properly. You might want to look in
the Wine Bugzilla for issues with CLR in them.

James McKenzie
mikolajz
Level 2
Level 2
Posts: 20
Joined: Wed Feb 27, 2008 7:18 am

Post by mikolajz »

The E_ACCESSDENIED were because we didn't handle WOW64 flags in registry functions. It is fixed in the Wine 1.1.2.
mikolajz
Level 2
Level 2
Posts: 20
Joined: Wed Feb 27, 2008 7:18 am

Post by mikolajz »

Now I got the E_INVALIDARG again and looked into it. The direct reason is some garbage sent to SetPriorityClass. I don't know yet where it comes from. Some OLE marshaling problems or wrong oleaut32 type coercion comes to mind, but there are only some first ideas.

One could try to run it with native dcom and check if this will changes anything.
JMS
Level 2
Level 2
Posts: 12
Joined: Sat Jul 05, 2008 3:10 pm

.net 2.0 fails on installation of assemblies

Post by JMS »

Hello, thanks for you help with this issue

I've had a look to the bugzilla and I've found

http://bugs.winehq.org/show_bug.cgi?id=14358

But I think this is about how CLR handles certain assemblies.
In my case it seems like the installation is not complete, due to the lot of errors coming up (I got a success message though). Besides it won't create the commands to install the default assemblies, so the Roots key appears empty and some folders within windows/assembly/ are missing.

As you can see my knowledge is a bit short, I can do whatever you tell me to do but I really don't know what I'm doing.

all the errs related to a9e69610-b80d-11d0-b9b9-00a0c922e750 are about DCOM not running aren't they?

I attach my installation log

Code: Select all

A:~ user1$ sh winetricks dotnet20
Setting Windows version to win2k
Executing wine regedit /Users/user1/.wine/drive_c/winetrickstmp/set-winver.reg
Executing cp -f /Users/user1/.winetrickscache/dotnet20/l_intl.nls /Users/user1/.wine/drive_c/windows/system32/
Executing wine /Users/user1/.winetrickscache/dotnet20/dotnetfx.exe
fixme:advapi:DecryptFileA "C:\\windows\\temp\\IXP000.TMP\\" 00000000
fixme:advapi:LsaOpenPolicy ((null),0x33f3f4,0x00000001,0x33f418) stub
fixme:advapi:LsaClose (0xcafe) stub
fixme:advapi:LookupAccountNameW (null) L"user1" 0x0 0x62525004 0x0 0x62525008 0x62524ffc - stub
fixme:advapi:LookupAccountNameW (null) L"user1" 0x160368 0x62525004 0x15c8e0 0x62525008 0x62524ffc - stub
fixme:advapi:LookupAccountNameW (null) L"user1" 0x0 0x62524fe4 0x0 0x62524fe8 0x62524fdc - stub
fixme:advapi:LookupAccountNameW (null) L"user1" 0x9bdc10 0x62524fe4 0x9ba188 0x62524fe8 0x62524fdc - stub
fixme:msi:ACTION_HandleStandardAction unhandled standard action L"SetODBCFolders"
err:ole:CoInitializeEx Attempt to change threading model of this apartment from apartment threaded to multi-threaded
fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet
......(40 lines like this 2).....
fixme:msi:ACTION_CustomAction Rollback only action... rollbacks not supported yet
err:ole:CoInitializeEx Attempt to change threading model of this apartment from apartment threaded to multi-threaded
err:ole:CoUninitialize Mismatched CoUninitialize
fixme:msi:msi_unimplemented_action_stub MsiUnpublishAssemblies -> 2 ignored L"MsiAssembly" table values
fixme:msi:msi_unimplemented_action_stub DeleteServices -> 4 ignored L"ServiceControl" table values
fixme:msi:msi_unimplemented_action_stub RemoveRegistryValues -> 4 ignored L"RemoveRegistry" table values
fixme:msi:msi_unimplemented_action_stub RemoveDuplicateFiles -> 7 ignored L"DuplicateFile" table values
fixme:msi:msi_unimplemented_action_stub RemoveFolders -> 16 ignored L"CreateFolder" table values
fixme:msi:msi_unimplemented_action_stub BindImage -> 8 ignored L"BindImage" table values
fixme:reg:GetNativeSystemInfo (0x33f478) using GetSystemInfo()
fixme:advapi:CheckTokenMembership (0x0 0x630118 0x33f450) stub!
err:ole:CoGetClassObject class {a9e69610-b80d-11d0-b9b9-00a0c922e750} not registered
err:ole:CoGetClassObject class {a9e69610-b80d-11d0-b9b9-00a0c922e750} not registered
err:ole:create_server class {a9e69610-b80d-11d0-b9b9-00a0c922e750} not registered
fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported
err:ole:CoGetClassObject no class object {a9e69610-b80d-11d0-b9b9-00a0c922e750} could be created for context 0x17
fixme:advapi:CheckTokenMembership (0x0 0x630140 0x33f400) stub!
err:ole:CoGetClassObject class {a9e69610-b80d-11d0-b9b9-00a0c922e750} not registered
err:ole:CoGetClassObject class {a9e69610-b80d-11d0-b9b9-00a0c922e750} not registered
err:ole:create_server class {a9e69610-b80d-11d0-b9b9-00a0c922e750} not registered
fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported
err:ole:CoGetClassObject no class object {a9e69610-b80d-11d0-b9b9-00a0c922e750} could be created for context 0x17
fixme:advapi:RegisterEventSourceW ((null),L"ASP.NET 2.0.50727.0"): stub
fixme:advapi:ReportEventW (0xcafe4242,0x0004,0x0001,0x400003f9,0x0,0x0002,0x00000000,0x33edd4,0x0): stub
fixme:advapi:DeregisterEventSource (0xcafe4242) stub
err:ole:CoGetClassObject class {a9e69610-b80d-11d0-b9b9-00a0c922e750} not registered
err:ole:CoGetClassObject class {a9e69610-b80d-11d0-b9b9-00a0c922e750} not registered
err:ole:create_server class {a9e69610-b80d-11d0-b9b9-00a0c922e750} not registered
fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported
err:ole:CoGetClassObject no class object {a9e69610-b80d-11d0-b9b9-00a0c922e750} could be created for context 0x17
wine: Unhandled exception 0xc06d007e at address 0x7b830fb0 (thread 0078), starting debugger...
err:msi:ITERATE_PublishAssembly Component not set for install, not publishing assembly
err:msi:ITERATE_PublishAssembly Component not set for install, not publishing assembly
fixme:virtual:NtAllocateVirtualMemory MEM_WRITE_WATCH type not supported
fixme:ole:CoGetContextToken stub
fixme:shell:URL_ParseUrl failed to parse L"System.EnterpriseServices"
fixme:shell:URL_ParseUrl failed to parse L"System"
err:ole:CoGetClassObject class {ecabb0c8-7f19-11d2-978e-0000f8757e2a} not registered
err:ole:CoGetClassObject no class object {ecabb0c8-7f19-11d2-978e-0000f8757e2a} could be created for context 0x1
err:ole:CoGetClassObject class {6eb22881-8a19-11d0-81b6-00a0c9231c29} not registered
err:ole:create_server class {6eb22881-8a19-11d0-81b6-00a0c9231c29} not registered
fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported
err:ole:CoGetClassObject no class object {6eb22881-8a19-11d0-81b6-00a0c9231c29} could be created for context 0x15
fixme:advapi:RegisterEventSourceW (L".",L"System.EnterpriseServices"): stub
fixme:advapi:ReportEventW (0xcafe4242,0x0001,0x0000,0x00000000,0x0,0x0001,0x00000000,0x87c86c,0x87c6e8): stub
err:eventlog:ReportEventW L"System.EnterpriseServices failed to install. Please fix the problem (see exception below) and run 'regasm System.EnterpriseServices.dll' again to install System.EnterpriseServices.\n\rException:\n'System.InvalidCastException: Retrieving the COM class factory for component with CLSID {6EB22881-8A19-11"...
fixme:advapi:DeregisterEventSource (0xcafe4242) stub
err:msi:HANDLE_CustomType34 Unable to execute command L"\"C:\\windows\\Microsoft.NET\\Framework\\netfxsbs20.exe\" /install"
Clearing Windows version back to default
Executing wine regedit /Users/user1/.wine/drive_c/winetrickstmp/unset-winver.reg
Install of dotnet20 done
winetricks done.
JMS
Level 2
Level 2
Posts: 12
Joined: Sat Jul 05, 2008 3:10 pm

I've tried with native dcom

Post by JMS »

dcom98 won't install on 1.1.1 or 1.1.2

I've gone back to 1.0 and installs fine but then dotnet20 hangs in

Code: Select all

fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION
JMS
Level 2
Level 2
Posts: 12
Joined: Sat Jul 05, 2008 3:10 pm

tried again with native dcom

Post by JMS »

Well, I've tried again with clean ~/.wine
First, set version to win98
Install dcom98 via winetricks

Set rpcrt4.dll as builtin (if you installed native dcom is a contradicion but if you don't dotnet crashes)

Install msi2

Install dotnet20, the installer now does the same as in windows, takes is usual time and you can see all the registry keys and assemblies installing, but when it reaches the end it finds an error and rollbacks everything

This is the best I've got. Anyway if the install ended successful and we changed the version to win2k all the assemblies and services would become invalid.

The conclusion is that something is not working in the builtin DCOM (please correct me), and with native DCOM dotnet20 should work but won't install.
mikolajz
Level 2
Level 2
Posts: 20
Joined: Wed Feb 27, 2008 7:18 am

Post by mikolajz »

Maybe .NET requires a better DCOM than dcom98 - it's quite old. Anyhow, I've filled a bug for it - http://bugs.winehq.org/show_bug.cgi?id=14639 . We now have a better understanding of what is wrong, so there is a big chance it will be working fine in Wine when these bugs are fixed.

I also forgot to mention that these bugs affects Linux as well - there is nothing MacOS-specific.
James McKenzie

.NET 2.0 fails compiling assemblies on OSX

Post by James McKenzie »

mikolajz wrote:
Maybe .NET requires a better DCOM than dcom98 - it's quite old. Anyhow, I've filled a bug for it - http://bugs.winehq.org/show_bug.cgi?id=14639 . We now have a better understanding of what is wrong, so there is a big chance it will be working fine in Wine when these bugs are fixed.

I also forgot to mention that these bugs affects Linux as well - there is nothing MacOS-specific.
Thank you for filing this bug. I need .NET 2.0 to install several
programs that I am working with.

James McKenzie
Locked