[Bug 30126] Matrix Games - Distant Worlds fails on startup

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Mar 10 05:45:25 CST 2012


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |dotnet
             Status|UNCONFIRMED                 |NEW
                 CC|                            |focht at gmx.net
            Summary|Distant Worlds won't start  |Matrix Games - Distant
                   |                            |Worlds fails on startup
     Ever Confirmed|0                           |1

--- Comment #2 from Anastasius Focht <focht at gmx.net> 2012-03-10 05:45:25 CST ---
Hello,

you most likely messed your WINEPREFIX up due to earlier failed install
attempts.
Don't let games/apps install .NET runtime, always use 'winetricks'.

Install .NET Framework 3.5 using 'winetricks dotnet35' in a clean WINEPREFIX
prior running the game installer.

The game installer from "Matrix games" is simple minded, it doesn't execute any
prerequisite checks.
Uncheck ".NET Framework 3.5" and leave "DirectX 9.0c" checked.
DX redist is needed to install managed DX runtime (for .NET).

Shortly after start it falls apart:

--- snip ---
002c:Call ole32.CoCreateInstance(00329118,00000000,00000001,00db10b4,00329064)
ret=79eb03ce
002c:trace:ole:CoCreateInstance (rclsid={6bf52a52-394a-11d3-b153-00c04f79faa6},
pUnkOuter=(nil), dwClsContext=00000001,
riid={00000000-0000-0000-c000-000000000046}, ppv=0x329064)
002c:trace:ole:CoGetClassObject CLSID:
{6bf52a52-394a-11d3-b153-00c04f79faa6},IID:
{00000001-0000-0000-c000-000000000046}
002c:Call advapi32.RegOpenKeyExW(80000000,00328e32
L"CLSID\\{6BF52A52-394A-11D3-B153-00C04F79FAA6}",00000000,00020019,00328e2c)
ret=7e7bda3f
002c:Ret  advapi32.RegOpenKeyExW() retval=00000002 ret=7e7bda3f
002c:err:ole:CoGetClassObject class {6bf52a52-394a-11d3-b153-00c04f79faa6} not
registered
002c:err:ole:CoGetClassObject no class object
{6bf52a52-394a-11d3-b153-00c04f79faa6} could be created for context 0x1
002c:Ret  ole32.CoCreateInstance() retval=80040154 ret=79eb03ce
...
002c:Call KERNEL32.RaiseException(e0434f4d,00000001,00000001,00328c58)
ret=79f071ac
002c:trace:seh:raise_exception code=e0434f4d flags=1 addr=0x7b8392a7
ip=7b8392a7 tid=002c
002c:trace:seh:raise_exception  info[0]=80040154
002c:trace:seh:raise_exception  eax=7b8262d1 ebx=7b8a96a8 ecx=80040154
edx=00328b58 esi=00328c38 edi=00328bb0
002c:trace:seh:raise_exception  ebp=00328b98 esp=00328b34 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00200287
002c:trace:seh:call_stack_handlers calling handler at 0x79fc15dc code=e0434f4d
flags=1
002c:trace:seh:call_stack_handlers handler at 0x79fc15dc returned 1
002c:trace:seh:call_stack_handlers calling handler at 0x79f07fee code=e0434f4d
flags=1 
...
System.Runtime.InteropServices.COMException (0x80040154): Exception from
HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)
   at System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(Guid& clsid,
Object punkOuter, Int32 context, Guid& iid)
   at System.Windows.Forms.AxHost.CreateWithoutLicense(Guid clsid)
   at System.Windows.Forms.AxHost.CreateWithLicense(String license, Guid clsid)
   at System.Windows.Forms.AxHost.CreateInstanceCore(Guid clsid)
   at System.Windows.Forms.AxHost.CreateInstance()
   at System.Windows.Forms.AxHost.GetOcxCreate()
   at System.Windows.Forms.AxHost.TransitionUpTo(Int32 state)
   at System.Windows.Forms.AxHost.CreateHandle()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.AxHost.EndInit()
   at DistantWorlds.Start.IILC7Nv()
   at DistantWorlds.Start..ctor()
   at GgkkfE5tygGpt.IILC7Nv.IILC7Nv()
--- snip ---

Another missing prerequisite check.

"{6bf52a52-394a-11d3-b153-00c04f79faa6}" -> wmp9

Install WMP libraries using 'winetricks wmp9'

Another run, the game now shows the splash and dies later:

--- snip ---
fixme:advapi:ReportEventW
(0xcafe4242,0x0001,0x0000,0x00001388,(nil),0x000b,0x000000f2,0x3009b09c,0x5dc5d4):
stub
err:eventlog:ReportEventW L"clr20r3"
err:eventlog:ReportEventW L"distantworlds.exe"
err:eventlog:ReportEventW L"1.0.1.0"
err:eventlog:ReportEventW L"4baf9da8"
err:eventlog:ReportEventW L"system.drawing"
err:eventlog:ReportEventW L"2.0.0.0"
err:eventlog:ReportEventW L"471ebf30"
err:eventlog:ReportEventW L"181"
err:eventlog:ReportEventW L"20"
err:eventlog:ReportEventW L"system.argumentexception"
err:eventlog:ReportEventW L"NIL"
fixme:advapi:DeregisterEventSource (0xcafe4242) stub
err:ole:CoInitializeEx Attempt to change threading model of this apartment from
multi-threaded to apartment threaded
err:ole:CoInitializeEx Attempt to change threading model of this apartment from
multi-threaded to apartment threaded
fixme:richedit:ME_HandleMessage EM_SETMARGINS: stub
fixme:richedit:ME_HandleMessage EM_SETMARGINS: stub
err:ole:CoUninitialize Mismatched CoUninitialize
err:ole:CoUninitialize Mismatched CoUninitialize

Unhandled Exception: System.ArgumentException: Parameter is not valid.
   at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat
format)
   at DistantWorlds.PlanetaryRingsGenerator.IP4s1vqiMTYbc(Bitmap , Rectangle )
   at
DistantWorlds.PlanetaryRingsGenerator.I5kqstLjxd9mGYbqaMBQ6MPMEDmSxAosD4j(Bitmap
, Int32 )
   at DistantWorlds.PlanetaryRingsGenerator.I0dnVLPuf6uVarpxEFTlj2r(Color[] ,
Double , Int32 , Int32 , Int32 )
   at DistantWorlds.PlanetaryRingsGenerator.GenerateRings(Int32 seed, Int32
planetDiameter)
   at DistantWorlds.Main.IkVYGnH7jMvBhLaml(String , Double )
   at DistantWorlds.Main.IcAB016nyGW()
   at DistantWorlds.Main.IbMqCLIMV3FlOXLEMWhP(Int32 , Int32 )
   at DistantWorlds.Main..ctor(Int32 width, Int32 height, Splash splashForm)
   at DistantWorlds.Start.Igr8wn8mM1WnLht2ycuMoxHGm0Eh4c(Object , EventArgs )
   at System.Windows.Forms.Form.OnLoad(EventArgs e)
   at System.Windows.Forms.Form.SetVisibleCore(Boolean value)
   at System.Windows.Forms.Control.set_Visible(Boolean value)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32
reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32
reason, ApplicationContext context)
   at System.Windows.Forms.Application.Run(Form mainForm)
   at GgkkfE5tygGpt.IILC7Nv.IILC7Nv()
wine: Unhandled exception 0xe0434f4d at address 0x7b8392a7 (thread 0009),
starting debugger...
--- snip ---

Trace log:

--- snip ---
002b:Call
gdiplus.GdipCreateBitmapFromScan0(00000000,00000000,00000000,000e200b,00000000,0032e1dc)
ret=03c125cd
002b:Ret  gdiplus.GdipCreateBitmapFromScan0() retval=00000002 ret=03c125cd 
--- snip ---

Unfortunately not much to see, +gdiplus gives huge logs (several GiB).
That (0,0) bitmap is probably the result of earlier failure, hidden in
obfuscated managed app code (.NET).

Use 'winetricks gdiplus' to work around that.
After that the game was quite playable in emulated Desktop 1024x768 mode (be
patient on startup).

--- snip ---
$ pwd
/home/focht/.wine/drive_c/Matrix Games/Distant Worlds
...
$ wine explorer /desktop=game,1024x768 ./DistantWorlds.exe
--- snip ---

Regards

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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