У меня есть старое приложение, которое я переношу на новый веб-хостинг. У меня был полный доступ к старому веб-серверу, поэтому для этого конкретного сайта мне пришлось зарегистрировать DLL на реальном сервере Windows 2003. Эта DLL связана с набором инструментов FDF от Adobe ( http://www.adobe.com/devnet/acrobat/fdftoolkit.html ).
Новый веб-хостинг, к которому у меня нет полного доступа (сейчас я использую облако rackspace), не позволяет мне регистрировать библиотеки DLL непосредственно на сервере ... что имеет полный смысл. Мне сказали, что я могу выбросить DLL в папку bin в корне моего приложения. Я не верю, что это работает. Кроме того, вот ссылка, которая описывает, как вы должны зарегистрировать DLL, http://www.15seconds.com/issue/990902.htm
* Изменить: у этого парня есть мой точный вопрос без ответа :( http://objectmix.com/adobe-acrobat/215497-asp-net-2-0-fdf-toolkit-dll-registration.html
Вот ошибка, которую я получаю:
Server object error 'ASP 0177 : 800401f3'
Server.CreateObject Failed
/pdfinterface/viewPDF.asp, line 26
800401f3
А вот строки 26 и 27:
Set FdfAcx = Server.CreateObject("FdfApp.FdfApp")
Set myFdf = FdfAcx.FDFCreate
Я в принципе облажался? Я не думаю, что эта DLL была разработана для загрузки с помощью IIS ..
Единственный способ работы DLL без регистрации на сервере - это управляемый код для .NET.
Вы увидите DLL-оболочки для ASP.NET, но даже они должны иметь базовую DLL, зарегистрированную на сервере.
Кроме того, поскольку вы используете классический ASP, размещение чего-либо в папке / bin не поможет, даже если бы это было полностью управляемо.
Итак, к сожалению, ваш единственный вариант, помимо другой хостинговой платформы, которая позволяет регистрировать библиотеки DLL, - это перейти к полностью управляющему компоненту и вызвать его из ASP.NET.
Я думаю, что причина сбоя в том, что COM-библиотека не зарегистрирована, и ее нужно где-то зарегистрировать, либо на машине (в HKEY_CLASSES_ROOT), либо в регистрации для каждого пользователя (в HKEY_CURRENT_USER \ Software \ Classes). Последнее могло бы быть жизнеспособным решением. я нашел инструмент, позволяющий регистрировать DLL для каждого пользователя. Вы можете использовать его для регистрации библиотеки DLL, используя учетные данные, в которых выполняется процесс IIS.