Bug 4006 - MonoDevelop fails to start with no warning if Gtk# is not installed on windows
Summary: MonoDevelop fails to start with no warning if Gtk# is not installed on windows
Status: RESOLVED FIXED
Alias: None
Product: Xamarin Studio
Classification: Desktop
Component: General (show other bugs)
Version: Trunk
Hardware: PC Mac OS
: Low minor
Target Milestone: ---
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2012-03-21 06:41 UTC by Alan McGovern
Modified: 2015-01-08 15:09 UTC (History)
4 users (show)

See Also:
Tags:
Is this bug a regression?: ---
Last known good build:


Attachments

Description Alan McGovern 2012-03-21 06:41:59 UTC
I had a user report that monodevelop completely failed to launch on windows. It turned out that he did not have Gtk# for MS.NET installed. Would it be possible to put a try catch around the main loop and if gtk# cannot be initialised, use reflection to load System.Windows.Forms and display a useful error message to the user. It'd be a nice fallback to let them know why things are failing silently.
Comment 1 Mikayla Hutchinson [MSFT] 2012-03-22 13:52:43 UTC
Yes, and GTK# can also get broken when other programs modify PATH, so this would help in those cases.

There was also a long-standing bug on Novell bugzilla to make GTK# use a module initializer to add its native libraries into the dynamic loader path using an API from XP SP2+, instead of using PATH. Unfortunately it was never implemented.
Comment 2 Jim Bodkins 2012-10-09 18:20:09 UTC
I havent used MonoDevelop since it was first released because of this issue (failure to start) and 1) lack of time to debug your install issue and 2) honestly lack of willingness to do so. 


I am a developer, but not with tools that I would like to use - not develop - like MonoDevelop. As a comment, I am impressed with the tool. And I am unimpressed with attention to detail regarding installation/distribution. I know of many other developers who installed MonoDevelop, it failed to start, and they uninstalled.


As a note to whom it may concern - since the issue involves pathing to GtkSharp/bin, I did the following in a bat file (monod.bat) in the GtkSharp/bin folder. monod.bat contains one line.


START C:\"Program Files"\MonoDevelop\bin\MonoDevelop.exe


This does launch Monodevelop.exe (I assume by virtue of monod.bat being in the GtkSharp/bin folder - its starting point).


This is not a general solution. It is a bandaid.


This should have been addressed over a year ago.
Comment 3 Jim Bodkins 2012-10-09 18:41:00 UTC
... sorry, it launches but fails to run correctly. I have to uninstall it again. Sorry - back to pure C I guess.
Comment 4 Duncan Mak 2012-10-09 19:22:18 UTC
Hello Jim,

I'm sorry that MonoDevelop did not work out for you in your first try.

Here are a tip that might help you out:

The GtkSharp installer puts the GtkSharp directory into the PATH environment variable. Unfortunately, the lookup of environment variables is not consistent after modification. You might want to try restarting your machine after installing GtkSharp to ensure that PATH includes the GtkSharp path.

You can get the latest GTK installer here: http://download.mono-project.com/gtk-sharp/gtk-sharp-2.12.10.win32.msi

The latest MD is here: http://download.xamarin.com/monodevelop/Windows/MonoDevelop-3.0.4.7.msi

If you still run into problems, please write back and let us know which version of the packages you have installed. It would also help if you show us the contents of the PATH environment variable.

Thanks!
Comment 5 Marius Ungureanu 2013-09-13 08:28:35 UTC
.
Comment 6 Mikayla Hutchinson [MSFT] 2013-09-13 11:44:15 UTC
Let's leave this open, original request is legit.
Comment 7 Mikayla Hutchinson [MSFT] 2015-01-08 15:09:18 UTC
I fixed this ages ago

Note You need to log in before you can comment on or make changes to this bug.