远程注册自己的组件

把asp程序作成dll很多好处,但是有一点,该dll必须注册才能在asp中调用。如果是自己的服务器那还好,但如果是租用的虚拟服务器,就没办法使用了。

怎样在远程主机上注册我们的dll呢?在服务器端使用Shell!!!

让我们先将自己的dll文件通过ftp或http上传到服务器上,然后作一个asp程序,调用WScript.Shell来执行regsvr32命令:

Set oShell = CreateObject ("WScript.Shell")

oShell.Run "c:\WINNT\system32\regsvr32.exe /s d:\xxx.dll", 0, False

当然如果对方的服务器安全搞的很好的话,这个代码也许就不能用了,但不管怎么样,学习一下也是好的,:)

在这里也要提醒那些出租空间的朋友,你的服务器是否限制了使用WScript.Shell的权限?还是小心为妙

完整代码如下,保存为.asp即可使用:

<% Response.Buffer = True %>

<% Server.ScriptTimeout = 500

Dim frmFolderPath, frmFilePath

frmFolderPath = Request.Form("frmFolderPath")

frmFilePath = Request.Form("frmDllPath")

frmMethod = Request.Form("frmMethod")

btnREG = Request.Form("btnREG")

%>

<HTML>

<HEAD>

<TITLE>Regsvr32.asp</TITLE>

<STYLE TYPE="TEXT/CSS">

.Legend {FONT-FAMILY: veranda; FONT-SIZE: 14px; FONT-WEIGHT: bold; COLOR: blue}

.FS {FONT-FAMILY: veranda; FONT-SIZE: 12px; BORDER-WIDTH: 4px; BORDER-COLOR: green;

MARGIN-LEFT:2px; MARGIN-RIGHT:2px}

TD {MARGIN-LEFT:6px; MARGIN-RIGHT:6px; PADDING-LEFT:12px; PADDING-RIGHT:12px}

</STYLE>

</HEAD>

<BODY>

<FORM NAME="regForm" METHOD="POST">

<TABLE BORDER=0 CELLSPACING=6 CELLPADDING=6 MARGINWIDTH=6>

<TR>

<TD VALIGN=TOP>

<FIELDSET ID=FS1 NAME=FS1 CLASS=FS>

<LEGEND CLASS=Legend>Regsvr Functions</LEGEND>

Insert Path to DLL Directory<BR>

<INPUT TYPE=TEXT NAME="frmFolderPath" VALUE="<%=frmFolderPath%>"><BR>

<INPUT TYPE=SUBMIT NAME=btnFileList VALUE="Build File List"><BR>

<%

IF Request.Form("btnFileList") <> "" OR btnREG <> "" Then

Set RegisterFiles = New clsRegister

RegisterFiles.EchoB("<B>Select File</B>")

Call RegisterFiles.init(frmFolderPath)

RegisterFiles.EchoB("<BR><INPUT TYPE=SUBMIT NAME=btnREG VALUE=" & Chr(34) _

& "REG/UNREG" & Chr(34) & ">")

IF Request.Form("btnREG") <> "" Then

Call RegisterFiles.Register(frmFilePath, frmMethod)

End IF

Set RegisterFiles = Nothing

End IF

%>

</FIELDSET>

</TD>

</TR>

</TABLE>

</FORM>

</BODY>

</HTML>

<%

Class clsRegister

Private m_oFS

Public Property Let oFS(objOFS)

m_oFS = objOFS

End Property

Public Property Get oFS()

Set oFS = Server.CreateObject("Scripting.FileSystemObject")

End Property

Sub init(strRoot) ‘Root to Search (c:, d:, e:)

Dim oDrive, oRootDir

IF oFS.FolderExists(strRoot) Then

IF Len(strRoot) < 3 Then ‘Must Be a Drive

Set oDrive = oFS.GetDrive(strRoot)

Set oRootDir = oDrive.RootFolder

Else

Set oRootDir = oFS.GetFolder(strRoot)

End IF

Else

EchoB("<B>Folder ( " & strRoot & " ) Not Found.")

Exit Sub

End IF

setRoot = oRootDir

Echo("<SELECT NAME=" & Chr(34) & "frmDllPath" & Chr(34) & ">")

Call getAllDlls(oRootDir)

EchoB("</SELECT>")

BuildOptions

End Sub

远程注册自己的组件,布布扣,bubuko.com

时间: 2024-08-03 15:23:46

远程注册自己的组件的相关文章

分布式中几种服务注册与发现组件的原理与比较

Eureka.Consul.Zookeeper的基本原理与比较. 前言 在云计算和容器化技术发展火热的当下,对于微服务架构,服务注册与发现组件是必不可少的.在传统的服务架构中,服务的规模处于运维人员的可控范围内.当部署服务的多个节点时,一般使用静态配置的方式实现服务信息的设定.在微服务应用中,服务实例的数量和网络地址都是动态变化的,这对系统运维提出了巨大的挑战.因此,动态的服务注册与发现就显得尤为重要. 解决的问题 在一个分布式系统中,服务注册与发现组件主要解决两个问题:服务注册和服务发现. 服

VueJS 如何编译服务器端远程模板【异步组件+简单方法】

说明 有些时候你可能需要从后台获取模板,并在前台在自己编译,这在用 AngularJS 1.x 的时候似乎很常见,可以直接用 ng-include 搞定,在 Vue 1.x 的时候也可以直接用 partial 搞定.但是在 Vue 2.x 中,官方取消了 partial 这个 API,根据情况推荐使用 component 代替,参见这里 需求 那我现在有个需求,就是从后台获取一个字符串模板(假设里面包含 v-model 等 vue 指令),模板需要拿到前台来编译,那该怎么实现呢?(这种需求确实比

C# 远程服务器 安装、卸载 Windows 服务,读取远程注册表,关闭杀掉远程进程

这里安装windows服务我们用sc命令,这里需要远程服务器IP,服务名称.显示名称.描述以及执行文件,安装后需要验证服务是否安装成功,验证方法可以直接调用ServiceController来查询服务,也可以通过远程注册表来查找服务的执行文件:那么卸载文件我们也就用SC命令了,卸载后需要检测是否卸载成功,修改显示名称和描述也用sc命令.至于停止和启动Windows服务我们可以用sc命令也可以用ServiceController的API,当停止失败的时候我们会强制杀掉远程进程,在卸载windows

#技塑人生# windows2008无法远程— 注册表缺失键值导致高级防火墙服务异常

windows2008无法远程— 注册表缺失键值导致高级防火墙服务异常 阿里云技术支持中心:章阿贵 一.远程无法访问(windows server 2008) 症状:无法远程但是系统内网络正常,防火墙打开报错,如下图: 启动防火墙服务Windows Firewall(MpsSvc),如果无法启动,报错误代码5,日志记录错误代码7024,如下图所示: 解决方法: 1.到相同版本的系统中将如下键值导出 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\servi

visual studio2010中C#生成的,ArcGIS二次开发的basetool的dll,注册为COM组件tlb文件,并在arcmap中加载使用

写了个标题好长啊~~~~ 这两天又认识了一个新玩意,记录一下下,啦啦啦~~~~~ 话说,认识arcgis快十年了,从桌面版到engine的二次开发,其实不过才认识到它的冰山一角, 它总是能带来很多还未知的东西,实话说,就是如此的热爱着它,因为从来都觉得遨游其中,没有边界~~~~~ arcengine二次开发,这个玩意现在已经不流行了,但是其奥妙和乐趣依然无穷~~~~ 言归: 一. 之前写的basetool,basecommand等类都是在独立的系统中运行的,没有单独注册成过组件在桌面版arcma

【Powershell】【DNS】通过Powershell远程注册静态DNS

代码通过调用DNS服务器的wmi端口远程注册静态DNS记录 $dnsServerName="08dc01.mok.com" $containerName="mok.com" $dns =[WmiClass]"\\08dc01.mok.com\root\MicrosoftDNS:MicrosoftDNS_ResourceRecord" $dns.CreateInstanceFromTextRepresentation($dnsServerName,

springcloud微服务系列之服务注册与发现组件Eureka

一.Eurake的简介二.使用Eureka进行服务的注册消费1.创建一个服务注册中心2.创建服务的提供者3.创建服务的消费者总结 一.Eurake的简介 今天我们来介绍下springcloud的核心组件Eureka,Eurake是负责微服务架构中服务治理的功能,负责各个服务实例的注册与发现. Eureka包含了服务器端和客户端组件.服务器端,也被称作是服务注册中心,用于提供服务的注册与发现. 客户端组件包含服务消费者与服务生产者.在应用程序运行时,服务生产者向注册中心注册自己的服务实例,当消费者

远程调试hadoop各组件

远程调试对应用程序开发十分有用.例如,为不能托管开发平台的低端机器开发程序,或在专用的机器上(比如服务不能中断的 Web 服务器)调试程序.其他情况包括:运行在内存小或 CUP 性能低的设备上的 Java 应用程序(比如移动设备),或者开发人员想要将应用程序和开发环境分开,等等. 为了进行远程调试,必须使用 Java Virtual Machine (JVM) V5.0 或更新版本. JPDA 简介 Sun Microsystem 的 Java Platform Debugger Archite

JS /CSS 实现模态框(注册和登录组件)

1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>JS/CSS 注册表单(模态框设置)</title> 6 <style> 7 8 input[type=email], input[type=password] { 9 width: 100%; 10 padding: 12px 20px; 11 margin: 8