Kodu Game Lab fails to start

Questions about Wine on Linux
Post Reply
pva0xd
Newbie
Newbie
Posts: 1
Joined: Wed Jan 31, 2024 5:37 am

Kodu Game Lab fails to start

Post by pva0xd »

For my son in school I need to install Kodu Game Lab http://www.kodugamelab.com/downloads/. Now, after installation (WINEARCH=win32 WINEPREFIX="...") it fails to run in wine-8.21 (wine-mono-8.1.0) with the following error:

Unhandled Exception:
System.NullReferenceException: Object reference not set to an instance of an object
at Boku.Program2.Main (System.String[] args) [0x008a4] in <d76f705294064560b56cbba3dc771c15>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.NullReferenceException: Object reference not set to an instance of an object

I've tried to search around but I failed to find anything relevant. I also see several "Failed to load module" messages, but I'm unsure if they are related. Is this error in wine or should I use some additional libraries for this?

Code: Select all

0094:warn:module:load_dll Failed to load module L"winemac.drv"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\4.5\\mscorlib.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib/mono/aot-cache/x86/mscorlib.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"C:\\Program Files\\Microsoft Research\\Kodu Game Lab\\Boku.exe.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib/mono/aot-cache/x86/Boku.exe.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"C:\\Program Files\\Microsoft Research\\Kodu Game Lab\\BokuShared.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib/mono/aot-cache/x86/BokuShared.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\gac\\System.Windows.Forms\\4.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib/mono/aot-cache/x86/System.Windows.Forms.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\gac\\System.Core\\4.0.0.0__b77a5c561934e089\\System.Core.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib/mono/aot-cache/x86/System.Core.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\gac\\System\\4.0.0.0__b77a5c561934e089\\System.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib/mono/aot-cache/x86/System.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\gac\\Microsoft.Xna.Framework.Graphics\\4.0.0.0__842cf8be1de50553\\Microsoft.Xna.Framework.Graphics.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib/mono/aot-cache/x86/Microsoft.Xna.Framework.Graphics.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\gac\\WineMono.FNA\\23.7.0.0__0738eb9f132ed756\\WineMono.FNA.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib/mono/aot-cache/x86/WineMono.FNA.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\gac\\Microsoft.Xna.Framework.Game\\4.0.0.0__842cf8be1de50553\\Microsoft.Xna.Framework.Game.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib/mono/aot-cache/x86/Microsoft.Xna.Framework.Game.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\gac\\Microsoft.Xna.Framework\\4.0.0.0__842cf8be1de50553\\Microsoft.Xna.Framework.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib/mono/aot-cache/x86/Microsoft.Xna.Framework.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\gac\\System.Configuration\\4.0.0.0__b03f5f7f11d50a3a\\System.Configuration.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib/mono/aot-cache/x86/System.Configuration.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\gac\\System.Drawing\\4.0.0.0__b03f5f7f11d50a3a\\System.Drawing.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib/mono/aot-cache/x86/System.Drawing.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\gac\\Accessibility\\4.0.0.0__b03f5f7f11d50a3a\\Accessibility.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib/mono/aot-cache/x86/Accessibility.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\gac\\System.Net.Http\\4.0.0.0__b03f5f7f11d50a3a\\System.Net.Http.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib/mono/aot-cache/x86/System.Net.Http.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\gac\\WineMono.Security\\4.0.0.0__0738eb9f132ed756\\WineMono.Security.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib/mono/aot-cache/x86/WineMono.Security.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\gac\\System.Xml\\4.0.0.0__b77a5c561934e089\\System.Xml.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib/mono/aot-cache/x86/System.Xml.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\4.5\\BCrypt.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\4.5\\BCrypt.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\4.5\\BCrypt.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\4.5\\advapi32.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\4.5\\advapi32.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\4.5\\advapi32.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"C:\\Program Files\\Microsoft Research\\Kodu Game Lab\\Cab.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib/mono/aot-cache/x86/Cab.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\4.5\\ntdll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\4.5\\ntdll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\4.5\\ntdll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"C:\\Program Files\\Microsoft Research\\Kodu Game Lab\\Ionic.Zip.Reduced.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib/mono/aot-cache/x86/Ionic.Zip.Reduced.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\gac\\System\\4.0.0.0__b77a5c561934e089\\iphlpapi.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\gac\\System\\4.0.0.0__b77a5c561934e089\\iphlpapi.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\gac\\System\\4.0.0.0__b77a5c561934e089\\iphlpapi.dll"; status=c0000135
0130:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\gac\\WineMono.Security\\4.0.0.0__0738eb9f132ed756\\crypt32.dll"; status=c0000135
0130:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\gac\\WineMono.Security\\4.0.0.0__0738eb9f132ed756\\crypt32.dll"; status=c0000135
0130:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\gac\\WineMono.Security\\4.0.0.0__0738eb9f132ed756\\crypt32.dll"; status=c0000135
0130:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\gac\\System.Numerics\\4.0.0.0__b77a5c561934e089\\System.Numerics.dll.dll"; status=c0000135
0130:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib/mono/aot-cache/x86/System.Numerics.dll.dll"; status=c0000135
0130:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\gac\\System\\4.0.0.0__b77a5c561934e089\\crypt32.dll"; status=c0000135
0130:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\gac\\System\\4.0.0.0__b77a5c561934e089\\crypt32.dll"; status=c0000135
0130:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\gac\\System\\4.0.0.0__b77a5c561934e089\\crypt32.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\gac\\System.Xml.Linq\\4.0.0.0__b77a5c561934e089\\System.Xml.Linq.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib/mono/aot-cache/x86/System.Xml.Linq.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\gac\\System.Management\\4.0.0.0__b03f5f7f11d50a3a\\System.Management.dll.dll"; status=c0000135
0110:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib/mono/aot-cache/x86/System.Management.dll.dll"; status=c0000135
013c:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\4.5\\ole32.dll"; status=c0000135
013c:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\4.5\\ole32.dll"; status=c0000135
013c:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\4.5\\ole32.dll"; status=c0000135
013c:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\4.5\\oleaut32.dll"; status=c0000135
013c:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\4.5\\oleaut32.dll"; status=c0000135
013c:warn:module:load_dll Failed to load module L"Z:\\usr\\share\\wine\\mono\\wine-mono-8.1.0\\lib\\mono\\4.5\\oleaut32.dll"; status=c0000135
Thanks in advance for any help.
qwertymnb
Level 4
Level 4
Posts: 237
Joined: Sun Jan 17, 2016 4:36 pm

Re: Kodu Game Lab fails to start

Post by qwertymnb »

Hi, I gave this program a try and it seems to suffer from a few wine bugs.

With a few hacks I was able to start the application. (patch with hacks is at end of post). Also i had to copy installed XnaNative.dll into the path , because the program could not find it. I did not test any further yet than getting up the iinitial screen. I'll open a bugreport later and try get proper patches upstream.

Regards

Patch with bunch of
hacks:

Code: Select all

diff --git a/dlls/wbemprox/builtin.c b/dlls/wbemprox/builtin.c
index 31df1f5c920..4d13fecdc55 100644
--- a/dlls/wbemprox/builtin.c
+++ b/dlls/wbemprox/builtin.c
@@ -143,6 +143,7 @@ static const struct column col_diskdrive[] =
     { L"PNPDeviceID",   CIM_STRING },
     { L"SerialNumber",  CIM_STRING|COL_FLAG_DYNAMIC },
     { L"Size",          CIM_UINT64 },
+    { L"Caption",       CIM_STRING },
 };
 static const struct column col_diskdrivetodiskpartition[] =
 {
@@ -303,6 +304,8 @@ static const struct column col_pnpentity[] =
     { L"DeviceId",             CIM_STRING|COL_FLAG_DYNAMIC },
     { L"Manufacturer",         CIM_STRING },
     { L"Name",                 CIM_STRING },
+    { L"Caption",              CIM_STRING },
+    { L"ClassGuid",            CIM_STRING },
 };
 static const struct column col_printer[] =
 {
@@ -596,6 +599,7 @@ struct record_diskdrive
     const WCHAR *pnpdevice_id;
     const WCHAR *serialnumber;
     UINT64       size;
+    const WCHAR *caption;    
 };
 struct record_diskdrivetodiskpartition
 {
@@ -756,6 +760,8 @@ struct record_pnpentity
     const WCHAR *device_id;
     const WCHAR *manufacturer;
     const WCHAR *name;
+    const WCHAR *caption;
+    const WCHAR *guid;
 };
 struct record_printer
 {
@@ -2349,6 +2355,7 @@ static enum fill_status fill_diskdrive( struct table *table, const struct expr *
             rec->model         = L"Wine Disk Drive";
             rec->pnpdevice_id  = L"IDE\\Disk\\VEN_WINE";
             rec->serialnumber  = get_diskdrive_serialnumber( root[0] );
+            rec->caption       = L"jhghsdaaaaaaaaaaaaaasdaaaaaaaaaaaaaaaagh";
             get_freespace( root, &size );
             rec->size          = size;
             if (!match_row( table, row, cond, &status ))
@@ -3181,7 +3188,8 @@ static enum fill_status fill_pnpentity( struct table *table, const struct expr *
             rec->device_id = wcsdup( device_id );
             rec->manufacturer = L"The Wine Project";
             rec->name = L"Wine PnP Device";
-
+            rec->caption = L"fwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwff";
+            rec->guid = L"{4d36e967-e325-11ce-bfc1-08002be10318}";
             table->num_rows++;
             if (!match_row( table, table->num_rows - 1, cond, &status ))
             {
MeinVali
Newbie
Newbie
Posts: 1
Joined: Tue Jan 30, 2024 12:29 am

Re: Kodu Game Lab fails to start

Post by MeinVali »

Hi qwertymnb,

Firstly, thanks a bunch for your efforts and for sharing your findings! I was struggling with Kodu Game Lab not starting, and your workaround did the trick for me. Kudos for taking the time to identify the issues and providing a patch.

I followed your steps, and now the application is up and running. I really appreciate your quick response and the detailed instructions. Also, thanks for mentioning the XnaNative.dll fix – that was a crucial piece of information.

Looking forward to your bug report and any updates on getting the patches upstream. Your contributions make a real difference in the community.

Thanks again
qwertymnb
Level 4
Level 4
Posts: 237
Joined: Sun Jan 17, 2016 4:36 pm

Re: Kodu Game Lab fails to start

Post by qwertymnb »

@MeinVali:
>Thanks again
you're welcome!

The patches are now upstream so the previous hacks are not needed anymore in upcoming wine-9.2.
Further I found that if you first install xnaredist.msi before the application, then the copying around of the XnaNative.dll is not needed (maybe this isn't a wine-bug after all?).

Long story short: With upcoming wine-9.2 the game should work "out of the box" if you do:
1. Install dotnet48 (winetricks) and xnaredist.msi
2. Install and launch Kobu
Post Reply