Я только что завершил свое приложение 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 будет искать только этот файл в жестко заданном месте - даже в папке, в которой находится приложение. Может кто-нибудь сказать мне, если а) это действительно ожидаемое поведение, и б ) если я могу что-нибудь с этим поделать, если не считать, что мой установщик сам делает этот путь? Я знаю, что могу также просто запустить установщик GTK #, но я надеялся сохранить все компоненты Mono / GTK локально для моей установки, чтобы избежать путаницы в версиях и т. Д.