在IIS7上注册一个DLL,而无需在实际的盒子上注册..可能吗?

我有一个旧的应用程序,我正在迁移到新的虚拟主机。 我有完全访问旧的Web服务器,所以对于特定的网站,我不得不在实际的Windows 2003服务器上注册一个DLL。 该DLL与Adobe的FDF工具包( 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被devise成由IIS加载..

如果没有在服务器上注册它,那么DLL工作的唯一方法就是它是.NET的托pipe代码。

你会看到ASP.NET的包装DLL,但是他们甚至需要在服务器上注册核心DLL。

另外,由于你使用的是传统的ASP,即使它是完全托pipe的,把东西放到/ bin文件夹中也是无济于事的。

所以,不幸的是,除了另一个允许注册DLL的宿主平台之外,你唯一的select就是转移到一个完全pipe理的组件,并从ASP.NET调用它。

我认为这是失败的原因是因为COM DLL没有注册,它必须在机器上(在HKEY_CLASSES_ROOT)或每个用户注册(在HKEY_CURRENT_USER \ Software \ Classes)某处注册。 后者可能是一个可行的解决scheme。 我发现了一个允许每个用户DLL注册的工具 。 您可以使用它在IIS进程运行时使用凭据注册DLL。