Написал функция для сохранения картинок. Функция использует класс gfxImageSurface.
Как я понял методы для работоспособности gfxImageSurface необходима xul.dll. Все хорошо если dll xulrunner лежат вместе с exe файлом моей программы, но как сделать чтобы все dll xulrunner  лежали в папке, например mozilla, а мой exe в другой?
Вот функция:
static sresult  _SaveImage (nsIDOMElement*  elem, const wxString& path) {
    nsresult rv;

    nsCOMPtr<nsIImageLoadingContent> imageContent = do_QueryInterface(elem, &rv);
    NS_ENSURE_TRUE(imageContent, rv);
    nsCOMPtr<imgIRequest> request;
    rv = imageContent->GetRequest(nsIImageLoadingContent::CURRENT_REQUEST, getter_AddRefs(request));
    NS_ENSURE_TRUE(request, rv);
    nsCOMPtr<imgIContainer> container;
    rv = request->GetImage(getter_AddRefs(container));
    NS_ENSURE_TRUE(container, rv);
    nsCOMPtr<gfxImageSurface> image;
       
    rv = container->CopyFrame(imgIContainer::FRAME_FIRST, imgIContainer::FLAG_SYNC_DECODE, getter_AddRefs(image));
    NS_ENSURE_TRUE(image, rv);
   
    nsCOMPtr<imgIEncoder> encoder = do_CreateInstance("@mozilla.org/image/encoder;2?type=image/png", &rv);
    NS_ENSURE_SUCCESS(rv, rv);
    encoder->InitFromData(image->Data(), image->Stride() * image->Height(), image->Width(), image->Height(), image->Stride(), imgIEncoder::INPUT_FORMAT_HOSTARGB, EmptyString());
        .................................
        ............................
}
Если все  dll xulrunner лежат в другой папке, то при загрузки программы у меня выдает ошибку "Запуск программы невозможен, так как на компьютере отсутствует xul.dll".

Есть у кого-то идеи? заранее благодарен.

не оно?

Спасибо, было почти то))) Но проблему решил.
Использую VS2010 и xulrunner 10.2. В опциях проекта VS2010 есть опция Delay Loaded DLLs, туда вписал xul.dll и заработало) Кому интересно вот описание - http://msdn.microsoft.com/en-us/library/151kt790.aspx
Спасибо, что навели на мысль!!!
Тема закрыта.