有没有可能是GTK或gtksharp在Windows上的硬编码的DLL加载?

问题描述 投票:2回答:2

我刚刚完成我的GTK#/单声道应用和正在筹建的安装程序。 (我在的.NET Framework 3.5和最新的稳定的单,2.6.7,它安装的Gtk 2.10.0工作),我宁愿让安装本地地而不是强迫人们去安装GTK#的。 NET自己。我看着安装程序女妖(http://banshee.fm)来指导我,我得到了几乎所有的方式出现。不幸的是,我已经嵌入在我的应用程序的PNG资源不加载。

一个小时左右后讨论procmon(http://sysinternals.com)的亲密关系,我发现libpixbufloader-png.dll文件没有被加载。它正在搜索只在一个地方:C:\ Program Files文件\ GtkSharp \ 2.12 \ LIB \ GTK的2.0 \ 2.10.0 \装载机。如果我只创建该文件夹树,并坚持该文件存在,它的工作原理。

这似乎略显疯狂的是GTK#/ GTK只会看在一个硬编码的位置,该文​​件 - 即使是在应用程序所在的文件夹有人能告诉我,如果一)这确实是预期的行为,和b)如果有什么我可以做些什么,总之有我的安装使这条道路本身?我知道我也可以只产卵了GTK#安装程序,但我希望保留所有的单声道/ GTK东西地方到我的安装,以避免在以后版本等混乱

mono installation gtk gtk#
2个回答
1
投票

我觉得你的安装程序需要在最后运行如下命令:

C:\ Program Files文件\ GtkSharp \ 2.12 \ BIN \ GDK-pixbuf的查询,loaders.exe

见维克斯这里正式Gtk#的安装程序:

https://github.com/mono/gtk-sharp/blob/gtk-sharp-2-12-branch/msi/unmanaged/unmanaged.wxs


1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.