Chronicles of a non-Windows user.

Post/Author/DateTimePost
#1

coppro

Nov 10, 2008 15:55:05
This thread shall serve as a log used by me in trying to get the Character Builder running on my Linux machine, which includes a Windows machine operating in a QEMU virtual machine. This post is written as a log because I'm typing as I go along - you may see me record suggestions and whatnot that will simply not work because I revise them later in the post.

I am going to start by trying to run the installer with Mono, which fails because it isn't a .NET assembly. So I'm now going to try running with wine, while I boot my virtual machine.

The installer loads up in Wine fine, I'm prompted for a location to download to. I chose the default, and it's downloading now. Okay, download complete, it's now trying to download and install the .NET framework. It fails, I say to continue installation (.NET will not install under Wine). The Character Builder installer pops up. A little while later and the install is complete.

I'm now downloading the Mono Migration Analyzer, which will scan the assemblies for any incompatibilities between them and Mono. All the executable code in the install appears to be .NET code, so it's looking good. The scan is taking awhile, and I am hoping that, against all odds, there are little to no incompatibilities... and it crashes. I try again, this time running it on each DLL separately... the D20RulesEngine.dll passes, but Magicka.Utilities.dll does not:

Show
According to Mono, the Startup() routine calls TypeDescriptor.AddProvider, which is not yet implemented in Mono. This implies that it may crash before initialization in Mono, which is a shame. The methods will throw NotImplementedException, so perhaps there is a workaround to this that can be implemented within the application.
#2

coppro

Nov 10, 2008 17:11:36
The Character Builder is working fine in the VM; I'm exporting it via network shares and PDF printers while trying to find a better solution.
#3

coppro

Nov 10, 2008 18:49:19
I'm now trying to build Olive but encountering errors; I'm checking out the Mono C# compiler from Subversion to use. (You won't need to do this in the unlikely event that it works; I can distribute the compiled assemblies from Olive).
#4

elf

Nov 10, 2008 19:29:52
I <3 this thread. Feel free to drop me a note if there's anything simple I can do to make your life easier.
#5

coppro

Nov 10, 2008 21:31:28
Well, I've been trying to compile Mono and Olive, but I'm encountering some errors when actually trying to run the Character Builder (part of Olive is referencing a system class I don't have). I've fired off a question to the devs; hopefully this will be a simple resolution and I can get this to start.

In the meanwhile, if there's any way to make the code around TypeDescriptor.AddProvider be robust against it being unimplemented, that would probably help immensely once I get Mono compiled (it will throw a NotImplementedException, so you can detect whether it works and then make it forward-compatible if/when Mono implements it).
#6

coppro

Nov 10, 2008 23:36:04
The devs have responded, and sadly, Mono support for the WPF is still in its infancy. I've volunteered myself to help out, however, that won't accelerate the project at all. However, it may be possible to use the Windows implementation, though likely not because it almost certainly uses various elements of non-portable code. It is also possible that it would be possible to use that in combination with Wine and Mono, but once again, there is no real certainty, and it would likely be difficult for other users to do (and it likely wouldn't work on Mac, where Wine support is a lot less than on Linux)
#7

michael_the_choirboy

Dec 02, 2008 10:51:33
Hey, just found your thread.

I've been hoping someone would find a workaround. I'm on a mac.

I went as far as you, it looks like: it would install under wine, but not run. I added mono and it got further, but still crapped out on the presentation framework.
#8

Jaures

Jan 29, 2009 10:56:25
Hmm, I was trying the same thing until I found this post. Sigh... Well, maybe they fixed a few things in Olive. Maybe I'm gonna try it anyway.
#9

bubba0077

Jan 29, 2009 12:45:47
I'd also be interested to know, if anyone has tried both the CB and Magic Online, if their non-Windows experience differed. For reference, the Magic Online version of this thread: http://forums.gleemax.com/showthread.php?t=1042542

[For those that don't know, MO also uses .NET]