[Bug 39059] Neverwinter Nights 2 Toolset 'NWN2ToolsetLauncher.exe' (.NET 2.0 app) crashes with System.TypeLoadException (managed DirectX runtime not installed)
wine-bugs at winehq.org
wine-bugs at winehq.org
Sat Aug 8 09:29:09 CDT 2015
https://bugs.winehq.org/show_bug.cgi?id=39059
Anastasius Focht <focht at gmx.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |dotnet
Status|UNCONFIRMED |RESOLVED
CC| |focht at gmx.net
Resolution|--- |INVALID
Summary|NWN2ToolsetLauncher.exe |Neverwinter Nights 2
|dotnet20 Application |Toolset
|crashes with |'NWN2ToolsetLauncher.exe'
|System.TypeLoadException |(.NET 2.0 app) crashes with
| |System.TypeLoadException
| |(managed DirectX runtime
| |not installed)
--- Comment #1 from Anastasius Focht <focht at gmx.net> ---
Hello folks,
confirming.
The failure is expected since 'NWN2Toolset.dll' .NET assembly depends on
managed DirectX.
--- snip ---
fixme:advapi:ReportEventW
(0xcafe4242,0x0001,0x0000,0x00001388,(nil),0x000b,0x00000106,0x3009a1b4,0x6ec5d4):
stub
err:eventlog:ReportEventW L"clr20r3"
err:eventlog:ReportEventW L"nwn2toolsetlauncher.exe"
err:eventlog:ReportEventW L"1.0.23.1765"
err:eventlog:ReportEventW L"4a89fba1"
err:eventlog:ReportEventW L"nwn2toolset"
err:eventlog:ReportEventW L"1.0.1765.0"
err:eventlog:ReportEventW L"4a89fc8c"
err:eventlog:ReportEventW L"20d"
err:eventlog:ReportEventW L"1b"
err:eventlog:ReportEventW L"system.typeloadexception"
err:eventlog:ReportEventW L"NIL"
...
Unhandled Exception: System.TypeLoadException: Could not load type
'NWN2Toolset.NWN2.NetDisplay.NWN2NetDisplayManager' from assembly 'NWN2Toolset,
Version=1.0.1765.0, Culture=neutral, PublicKeyToken=6bb96f3d82daa243'.
at NWN2Toolset.NWN2ToolsetMainForm.Initialize()
at NWN2Toolset.NWN2ToolsetMainForm.StartupWindow()
at NWN2ToolsetLauncher2.LauncherStub.Main()
at main(String[] args)
wine: Unhandled exception 0xe0434f4d in thread 9 at address 0x7b845d3d (thread
0009), starting debugger...
--- snip ---
Dumping the culprit with ILSpy:
--- snip ---
// Z:\home\focht\.wine\drive_c\GOG Games\Neverwinter Nights 2
Complete\NWN2Toolset.dll
// NWN2Toolset, Version=1.0.1765.0, Culture=neutral,
PublicKeyToken=6bb96f3d82daa243
// Global type: <Module>
// Architecture: AnyCPU (64-bit preferred)
// Runtime: .NET 2.0
// mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// OEIShared, Version=1.0.1765.0, Culture=neutral,
PublicKeyToken=6bb96f3d82daa243
// System.Drawing, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a
// System.Windows.Forms, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
// System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// DotNetMagic2005, Version=5.0.1.0, Culture=neutral,
PublicKeyToken=6bb96f3d82daa243
// SandBar, Version=1.3.4.1, Culture=neutral, PublicKeyToken=75b7ec17dd7c14c3
// QWhale.Syntax, Version=1.3.3516.30270, Culture=neutral,
PublicKeyToken=cd79f04377768f46
// System.Design, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a
// Microsoft.DirectX, Version=1.0.2902.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35
// GlacialTreeList, Version=2.3.2.0, Culture=neutral,
PublicKeyToken=6bb96f3d82daa243
// ManagedElectron, Version=1.0.1765.0, Culture=neutral,
PublicKeyToken=6bb96f3d82daa243
// Microsoft.DirectX.AudioVideoPlayback, Version=1.0.2902.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35
// Sano.PersonalProjects.ColorPicker.Controls, Version=0.1.1.0,
Culture=neutral, PublicKeyToken=6bb96f3d82daa243
// XPExplorerBar, Version=3.3.0.0, Culture=neutral,
PublicKeyToken=26272737b5f33015
// SmartPropertyGrid, Version=1.1.0.30, Culture=neutral,
PublicKeyToken=e293f9639c6b7e7d
// SourceGrid2, Version=2.2.0.0, Culture=neutral,
PublicKeyToken=ad929b4064585aea
// System.Xml, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
// QWhale.Editor, Version=1.3.3516.30281, Culture=neutral,
PublicKeyToken=cd79f04377768f46
// IRenderer, Version=1.0.3516.30272, Culture=neutral,
PublicKeyToken=6bb96f3d82daa243
// OEILocalization, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=6bb96f3d82daa243
// Microsoft.VisualC, Version=7.0.5000.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a
// ManagedResourceInterface, Version=1.0.3516.30318, Culture=neutral,
PublicKeyToken=6bb96f3d82daa243
// managednwscript, Version=1.0.1765.0, Culture=neutral,
PublicKeyToken=6bb96f3d82daa243
// ICSharpCode.SharpZipLib, Version=0.83.1.0, Culture=neutral,
PublicKeyToken=1b03e6acf1164f73
// mscorlib, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
// NWN2RulesLib.dll
using System;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
using System.Security.Permissions;
[assembly: AssemblyVersion("1.0.1765.0")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyDescription("")]
[assembly: AssemblyKeyName("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyTitle("")]
[assembly: AssemblyTrademark("")]
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: ComVisible(false)]
[assembly: Guid("A517C836-0AF4-4cb5-ACBE-6502F087531C")]
[assembly: SecurityPermission(8, SkipVerification = true)]
[module: UnverifiableCode]
--- snip ---
MS .NET Frameworks don't provide managed DirectX runtime.
You either:
* didn't run/skipped the DirectX 9 installer (the GOG.com package contains DX9
and .NET 3.5 runtime installers)
* the main installer checked for Direct 9 presence and skipped it on its own
due to Wine registry keys, missing the managed DirectX install part
Either run 'winetricks -q directx9' which installs the needed .NET assemblies
or let the game distributed DX9 runtime installer do its job.
Remove all overrides afterwards since the winetricks recipe will pollute the
prefix unnecessarily.
--- snip ---
$ find . -name "*DirectX*.dll"
./windows/Microsoft.NET/DirectX for Managed
Code/1.0.2902.0/Microsoft.DirectX.Direct3DX.dll
./windows/Microsoft.NET/DirectX for Managed
Code/1.0.2902.0/Microsoft.DirectX.dll
./windows/Microsoft.NET/DirectX for Managed
Code/1.0.2902.0/Microsoft.DirectX.AudioVideoPlayback.dll
./windows/Microsoft.NET/DirectX for Managed
Code/1.0.2902.0/Microsoft.DirectX.Diagnostics.dll
./windows/Microsoft.NET/DirectX for Managed
Code/1.0.2902.0/Microsoft.DirectX.Direct3D.dll
./windows/Microsoft.NET/DirectX for Managed
Code/1.0.2902.0/Microsoft.DirectX.DirectDraw.dll
./windows/Microsoft.NET/DirectX for Managed
Code/1.0.2902.0/Microsoft.DirectX.DirectInput.dll
./windows/Microsoft.NET/DirectX for Managed
Code/1.0.2902.0/Microsoft.DirectX.DirectPlay.dll
./windows/Microsoft.NET/DirectX for Managed
Code/1.0.2902.0/Microsoft.DirectX.DirectSound.dll
./windows/Microsoft.NET/DirectX for Managed
Code/1.0.2903.0/Microsoft.DirectX.Direct3DX.dll
./windows/Microsoft.NET/DirectX for Managed
Code/1.0.2904.0/Microsoft.DirectX.Direct3DX.dll
./windows/Microsoft.NET/DirectX for Managed
Code/1.0.2905.0/Microsoft.DirectX.Direct3DX.dll
./windows/Microsoft.NET/DirectX for Managed
Code/1.0.2906.0/Microsoft.DirectX.Direct3DX.dll
./windows/Microsoft.NET/DirectX for Managed
Code/1.0.2907.0/Microsoft.DirectX.Direct3DX.dll
./windows/Microsoft.NET/DirectX for Managed
Code/1.0.2908.0/Microsoft.DirectX.Direct3DX.dll
./windows/Microsoft.NET/DirectX for Managed
Code/1.0.2909.0/Microsoft.DirectX.Direct3DX.dll
./windows/Microsoft.NET/DirectX for Managed
Code/1.0.2910.0/Microsoft.DirectX.Direct3DX.dll
./windows/Microsoft.NET/DirectX for Managed
Code/1.0.2911.0/Microsoft.DirectX.Direct3DX.dll
./windows/assembly/GAC/Microsoft.DirectX.Direct3DX/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.Direct3DX.dll
./windows/assembly/GAC/Microsoft.DirectX.Direct3DX/1.0.2903.0__31bf3856ad364e35/Microsoft.DirectX.Direct3DX.dll
./windows/assembly/GAC/Microsoft.DirectX.Direct3DX/1.0.2904.0__31bf3856ad364e35/Microsoft.DirectX.Direct3DX.dll
./windows/assembly/GAC/Microsoft.DirectX.Direct3DX/1.0.2905.0__31bf3856ad364e35/Microsoft.DirectX.Direct3DX.dll
./windows/assembly/GAC/Microsoft.DirectX.Direct3DX/1.0.2906.0__31bf3856ad364e35/Microsoft.DirectX.Direct3DX.dll
./windows/assembly/GAC/Microsoft.DirectX.Direct3DX/1.0.2907.0__31bf3856ad364e35/Microsoft.DirectX.Direct3DX.dll
./windows/assembly/GAC/Microsoft.DirectX.Direct3DX/1.0.2908.0__31bf3856ad364e35/Microsoft.DirectX.Direct3DX.dll
./windows/assembly/GAC/Microsoft.DirectX.Direct3DX/1.0.2909.0__31bf3856ad364e35/Microsoft.DirectX.Direct3DX.dll
./windows/assembly/GAC/Microsoft.DirectX.Direct3DX/1.0.2910.0__31bf3856ad364e35/Microsoft.DirectX.Direct3DX.dll
./windows/assembly/GAC/Microsoft.DirectX.Direct3DX/1.0.2911.0__31bf3856ad364e35/Microsoft.DirectX.Direct3DX.dll
./windows/assembly/GAC/Microsoft.DirectX/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.dll
./windows/assembly/GAC/Microsoft.DirectX.AudioVideoPlayback/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.AudioVideoPlayback.dll
./windows/assembly/GAC/Microsoft.DirectX.Diagnostics/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.Diagnostics.dll
./windows/assembly/GAC/Microsoft.DirectX.Direct3D/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.Direct3D.dll
./windows/assembly/GAC/Microsoft.DirectX.DirectDraw/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.DirectDraw.dll
./windows/assembly/GAC/Microsoft.DirectX.DirectInput/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.DirectInput.dll
./windows/assembly/GAC/Microsoft.DirectX.DirectPlay/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.DirectPlay.dll
./windows/assembly/GAC/Microsoft.DirectX.DirectSound/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.DirectSound.dll
--- snip ---
There is also bug 34045 ("Provide Managed DirectX replacement assemblies for
Mono") but that one targets Wine-Mono and will likely stay forever^H^H^H^H a
long time.
---
It's possible to create a winetricks recipe for managed DirectX runtime install
without using the atomic bomb option 'directx9'.
Essentially you do it as MS suggests when providing a minimized DX install.
Create a folder and put the following files into:
--- snip ---
$ ls -1sh
total 8.4M
1.1M Apr2006_d3dx9_30_x86.cab
4.0M Apr2006_MDX1_x86_Archive.cab
896K Apr2006_MDX1_x86.cab
1.8M dsetup32.dll
88K DSETUP.dll
528K DXSETUP.exe
92K dxupdate.cab
--- snip ---
You must ensure that at least one MS .NET Framework is present *prior* running
the DX installer otherwise the .NET assemblies are not getting installed in
GAC.
You either run 'dxsetup.exe' (user-interface) or unattended by passing
'/silent' option and end up with minimal managed DX 9 runtime.
NOTE: Inclusion of 'Apr2006_d3dx9_30_x86.cab' is not a mistake, it must be
present since MDX inf has dependencies to this.
$ wine --version
wine-1.7.49
Regards
--
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