Mono 是否可能GTK或gtksharp on Windows硬编码加载程序DLL?

Mono 是否可能GTK或gtksharp on Windows硬编码加载程序DLL?,mono,installation,gtk,gtk#,Mono,Installation,Gtk,Gtk#,我刚刚完成了我的GTK#/Mono应用程序,正在准备构建一个安装程序。(我在.NET Framework 3.5和最新的稳定Mono 2.6.7中工作,它安装了Gtk 2.10.0)我更愿意让安装尽可能本地化,而不是强迫人们自己安装Gtk for.NET。我看了看女妖的安装程序(http://banshee.fm)来指引我,我几乎一路走到那里。不幸的是,我在应用程序中嵌入的PNG资源没有加载 在和普罗克蒙亲密了一个小时后(http://sysinternals.com),我发现没有加载文件lib

我刚刚完成了我的GTK#/Mono应用程序,正在准备构建一个安装程序。(我在.NET Framework 3.5和最新的稳定Mono 2.6.7中工作,它安装了Gtk 2.10.0)我更愿意让安装尽可能本地化,而不是强迫人们自己安装Gtk for.NET。我看了看女妖的安装程序(http://banshee.fm)来指引我,我几乎一路走到那里。不幸的是,我在应用程序中嵌入的PNG资源没有加载

在和普罗克蒙亲密了一个小时后(http://sysinternals.com),我发现没有加载文件libpixbufloader-png.dll。只在一个位置搜索它:c:\program files\GtkSharp\2.12\lib\gtk-2.0\2.10.0\loaders。如果我只创建文件夹树并将文件粘贴在那里,它就会工作


GTK#/GTK只在一个硬编码位置查找此文件,甚至不在应用程序所在的文件夹中,这似乎有点疯狂。有人能告诉我,如果a)这确实是预期的行为,并且b)除了让我的安装程序自己创建这条路径之外,我能做些什么吗?我知道我也可以生成GTK安装程序,但我希望将所有Mono/GTK内容保留在我的安装中,以避免以后对版本等产生混淆。

我认为您的安装程序需要在最后运行以下操作:

C:\Program Files\GtkSharp\2.12\bin\gdk-pixbuf-query-loaders.exe

有关官方Gtk安装程序,请参见Wix:


您不必调用我的jpobst中提到的.exe,因为您可以在
gdk pixbuf.loaders
config文件中输入相对路径(顺便说一句,您看到的路径不是硬编码的)。

好吧,见鬼,看看这个。我现在就去搞砸它,等它起作用的时候再投票!谢谢。不幸的是,官方的Gtk安装程序与使用最新的GtkSharp在我的Windows box上实际安装的内容相比,有各种各样的不一致之处。然而,gdk-pixbuf-query-loaders.exe实际上是正确的领导者。现在我的生活糟透了,想和WIx一起工作。。。