Назад | Перейти на главную страницу

Зарегистрировать DLL на IIS7 без регистрации на самом ящике .. возможно?

У меня есть старое приложение, которое я переношу на новый веб-хостинг. У меня был полный доступ к старому веб-серверу, поэтому для этого конкретного сайта мне пришлось зарегистрировать 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.