在远程主机上注册 DLL






3.44/5 (6投票s)
2002年7月31日

81048
对于需要与远程 Web 服务器合作的程序员来说,注册 DLL 一直是一场噩梦。
引言
对于需要与远程 Web 服务器合作的程序员来说,注册 DLL 一直是一场噩梦。尤其是在具有自定义安全设置的服务器上,情况更加糟糕。每次都需要联系服务器管理员来注册/取消注册 DLL。
解决此问题的一个简单方法是使用 ASP 页面来注册/取消注册 DLL。此操作的关键是使用 Windows Scripting Host WshShell
类的 RUN 方法。
以下是一个简单的 ASP 页面,使用 run 方法注册 DLL。
<%
Dim strPageName
strPageName = "Reg.asp"
If Request.Form("SUBMIT") = "" Then
Response.write "<CENTER><FORM ACTION=""" & strPageName & """ METHOD=POST>"
Response.write "<INPUT TYPE=TEXT NAME=FILEPATH SIZE=120>Full Path/Filename "
Response.write "to DLL to be registered/un registerd<BR>"
Response.write "<INPUT TYPE=CHECKBOX NAME=ACTIONTYPE CHECKED>Check to "
Response.write "Register; Uncheck to Unregister<BR>"
Response.write "<INPUT TYPE=SUBMIT NAME=SUBMIT VALUE=SUBMIT></CENTER>"
Response.write "</FORM>"
Else
Set objFileSystem = Server.CreateObject("Scripting.FileSystemObject")
strPath = objFileSystem.GetSpecialFolder(1) & "\REGSVR32.EXE /s "
Set objWshShell = CreateObject("WScript.Shell")
strRun = "CMD /C " & strPath & " /u "
If Request.Form("ACTIONTYPE")="on" Then strRun = "CMD /C " & strPath
strReturn = objWshShell.Run(strRun & Request.Form("FILEPATH"), 1, True)
Set objFileSystem = Nothing
Set objWshShell = Nothing
End If
%>
复制上面的整个脚本,包括 <% %> 脚本分隔符,将其粘贴到记事本中,并将其保存为服务器上的 "Reg.asp"。现在你只需要知道 DLL 的驱动器号、路径和名称即可。