AutoWikiBrowser (.NET 2.0 app) with mono 1.9

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
Locked
David Gerard

AutoWikiBrowser (.NET 2.0 app) with mono 1.9

Post by David Gerard »

AutoWikiBrowser (AWB) is a Wikipedia-oriented browser for doing
repetitive editing:

http://en.wikipedia.org/wiki/WP:AWB

AWB is a .NET 2.0 application. It doesn't work in Wine under Mono 1.2:

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

- but I see Mono 1.9 (preview of 2.0) is out, so decided to give it a go:

http://www.go-mono.com/mono-downloads/download.html

It doesn't actually work yet, apparently because of an unimplemented
function in gdiplus.dll:

fun@heidi:~$ '/home/fun/.wine/drive_c/Program Files/AWB/AutoWikiBrowser.exe'
fixme:spoolsv:serv_main (0 (nil))
wine: Call from 0x7b840f50 to unimplemented function
gdiplus.dll.GdipCreateFontFamilyFromName, aborting
err:seh:setup_exception stack overflow 16 bytes in thread 0011 eip
7b841946 esp 00410ff0 stack 0x411000-0x620000

Any ideas on simple workarounds? Is the above worth adding to bug 8499 as yet?

(And if you have an app that wants .NET 2.0, give Mono 1.9 for Windows a try!)


- d.
Dan Kegel

AutoWikiBrowser (.NET 2.0 app) with mono 1.9

Post by Dan Kegel »

On Mon, Mar 17, 2008 at 9:17 AM, David Gerard <[email protected]> wrote:
It doesn't actually work yet, apparently because of an unimplemented
function gdiplus.dll.GdipCreateFontFamilyFromName, aborting
Any ideas on simple workarounds?
Two ideas:
1) try the stub just posted at
http://winehq.org/pipermail/wine-patche ... 51661.html

2) try winetricks gdiplus
Is the above worth adding to bug 8499 as yet?
Sure.
(And if you have an app that wants .NET 2.0, give Mono 1.9 for Windows a try!)
I just now updated http://kegel.com/wine/winetricks to use mono 1.9.

So try
sh winetricks mono12 gdiplus
and see if that makes your app happy.
David Gerard

AutoWikiBrowser (.NET 2.0 app) with mono 1.9

Post by David Gerard »

On 17/03/2008, Dan Kegel <[email protected]> wrote:
On Mon, Mar 17, 2008 at 9:17 AM, David Gerard <[email protected]> wrote:
(And if you have an app that wants .NET 2.0, give Mono 1.9 for Windows a try!)
I just now updated http://kegel.com/wine/winetricks to use mono 1.9.
So try
sh winetricks mono12 gdiplus
and see if that makes your app happy.
In the case of AWB:

(a) I do want it working now
(b) I do want to try AWB with new versions of Wine/Mono to see if it
works without winetricks
(c) I have other Windows apps installed in Wine and don't want to wipe
.wine to achieve (b). Is there an easy way to go back to using Wine
gdiplus rather than MS gdiplus?


- d.
David Gerard

AutoWikiBrowser (.NET 2.0 app) with mono 1.9

Post by David Gerard »

On 17/03/2008, David Gerard <[email protected]> wrote:
In the case of AWB:
(a) I do want it working now
(b) I do want to try AWB with new versions of Wine/Mono to see if it
works without winetricks
(c) I have other Windows apps installed in Wine and don't want to wipe
.wine to achieve (b). Is there an easy way to go back to using Wine
gdiplus rather than MS gdiplus?
Being impatient, I created a new WINEPREFIX to test it in. Installed
Mono from the 60MB download I'd already fetched. Installed Gecko by
doing "wine iexplore". Got gdiplus with winetricks. This happened when
I tried to run it:

fun@heidi:~/.wine-awb/drive_c/Program Files/AWB$ ./AutoWikiBrowser.exe
fixme:win:EnumDisplayDevicesW ((null),0,0x61e2f0,0x00000000), stub!

Unhandled Exception: System.TypeInitializationException: An exception
was thrown by the type initializer for
System.Windows.Forms.ThemeEngine ---> System.ArgumentException: The
requested FontFamily could not be found [GDI+ status:
FontFamilyNotFound]
at System.Drawing.GDIPlus.CheckStatus (Status status) [0x00000]
at System.Drawing.FontFamily..ctor (GenericFontFamilies
genericFamily) [0x00000]
at (wrapper remoting-invoke-with-check)
System.Drawing.FontFamily:.ctor
(System.Drawing.Text.GenericFontFamilies)
at System.Drawing.FontFamily.get_GenericSansSerif () [0x00000]
at System.Drawing.Font.CreateFont (System.String familyName, Single
emSize, FontStyle style, GraphicsUnit unit, Byte charSet, Boolean
isVertical) [0x00000]
at System.Drawing.Font..ctor (System.String familyName, Single
emSize, FontStyle style, GraphicsUnit unit, Byte charSet, Boolean
isVertical) [0x00000]
at System.Drawing.Font..ctor (System.String familyName, Single
emSize, System.String systemName) [0x00000]
at (wrapper remoting-invoke-with-check) System.Drawing.Font:.ctor
(string,single,string)
at System.Drawing.SystemFonts.get_DefaultFont () [0x00000]
at System.Windows.Forms.Theme..ctor () [0x00000]
at System.Windows.Forms.ThemeWin32Classic..ctor () [0x00000]
at System.Windows.Forms.ThemeEngine..cctor () [0x00000] --- End of
inner exception stack trace ---

at System.Windows.Forms.SystemInformation.get_MenuAccessKeysUnderlined
() [0x00000]
at System.Windows.Forms.Control..ctor () [0x00000]
at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control:.ctor ()
at System.Windows.Forms.WindowsFormsSynchronizationContext..cctor () [0x00000]

Tried winetricks corefonts, same thing happened. Tried winetricks
tahoma, same thing happened. Tried winetricks allfonts, same thing
happened.

So - that looks like a .NET backtrace. (Actually it looks like a Java
backtrace, which is why I say it looks like a .NET backtrace.) But it
mentions gdiplus a lot. Is this a defective implementation of gdiplus
in Wine, in Mono, in the MS native DLL or is it something else in
Mono?


- d.
David Gerard

AutoWikiBrowser (.NET 2.0 app) with mono 1.9

Post by David Gerard »

On 17/03/2008, David Gerard <[email protected]> wrote:
So - that looks like a .NET backtrace. (Actually it looks like a Java
backtrace, which is why I say it looks like a .NET backtrace.) But it
mentions gdiplus a lot. Is this a defective implementation of gdiplus
in Wine, in Mono, in the MS native DLL or is it something else in
Mono?
Louis Lenders suggested the following in bug 8499:
Try resitering some fonts: save this file
http://bugs.winehq.org/attachment.cgi?id=9204
and do 'regedit fonts.reg'
Maybe it helps something
And it appears to have done!

AWB now starts up, sort of. The splash screen comes up, with the text
"Splash::.ctor" under the scroll bar.

A window pops up warning "The program has encountered the following
problem: Method not found:
'System.Windows.Forms.HtmlElement.set_Enabled'." (Presumably that's a
Mono bug, and I'll file it as such shortly.)

The program then dies.

Program trace is at http://bugs.winehq.org/attachment.cgi?id=11453 .
It's asking for msvcr80.dll, which I understand Wine doesn't support
as yet. The AWB stacktrace is:

MissingMethodException
Method not found: 'System.Windows.Forms.HtmlElement.set_Enabled'.
at
WikiFunctions.Browser.WebControl.set_ArticleText (System.String
value) [0x00000]
at (wrapper remoting-invoke-with-check)
WikiFunctions.Browser.WebControl:set_ArticleText (string)
at AutoWikiBrowser.MainForm.InitializeComponent () [0x00000]
at AutoWikiBrowser.MainForm..ctor () [0x00000]
at (wrapper remoting-invoke-with-check)
AutoWikiBrowser.MainForm:.ctor ()
at AutoWikiBrowser.Program.Main (System.String[] args) [0x00000]

I understand msvcr80.dll support is presently a fraught issue ...


- d.
Jim
Level 2
Level 2
Posts: 48
Joined: Mon Feb 25, 2008 6:09 pm

Re: AutoWikiBrowser (.NET 2.0 app) with mono 1.9

Post by Jim »

David Gerard wrote:(c) I have other Windows apps installed in Wine and don't want to wipe .wine to achieve (b). Is there an easy way to go back to using Wine gdiplus rather than MS gdiplus?
You may be interested in the WINEPREFIX environment variable. Quick example for the console:

WINEPREFIX=~/.winetest wineprefixcreate
WINEPREFIX=~/.winetest wine yourapplication.exe

This works well for testing applications in relative isolation of other applications installed in the default ~/.wine folder.

See http://wiki.winehq.org/wineprefixcreate for more.
Dan Kegel

AutoWikiBrowser (.NET 2.0 app) with mono 1.9

Post by Dan Kegel »

On Mon, Mar 17, 2008 at 2:28 PM, Jim <[email protected]> wrote:
You may be interested in the WINEPREFIX environment variable
Good answer, but he's ahead of you; he got unlazy a couple messages
later and did just that.
Locked