Windows上的GTK或gtksharp是否可能对加载程序DLL进行硬编码?

| 我刚刚完成了我的GTK#/ Mono应用程序,并准备构建一个安装程序。 (我正在.NET Framework 3.5和最新稳定的Mono 2.6.7中安装Gtk 2.10.0进行工作)我希望将安装尽可能地本地化,而不是强迫人们去安装GTK# .NET本身。我看着banshee(http://banshee.fm)的安装程序来指导我,然后我几乎一路走到那里。不幸的是,我嵌入到我的应用程序中的PNG资源没有加载。 与procmon(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 请在此处查看Wix以获取官方Gtk#安装程序: https://github.com/mono/gtk-sharp/blob/gtk-sharp-2-12-branch/msi/unmanaged/unmanaged.wxs     
您不必调用我的jpobst中提到的.exe,因为您可以在relative0ѭ配置文件中输入相对路径(顺便说一句,您看到的路径不是硬编码的)。     

要回复问题请先登录注册