可不可以在vb中设置iis??

chinareny 2002-04-30 11:36:05
我现在做了一个程序,是vb+asp的.由于预期客户的层次较低,所以我希望在我的vb程序中做一些iis的设置,不知是否可行?如果可行,可否给出清楚的思路!谢谢
50分暂放在此,以后再给分!
...全文
82 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
carefulman 2002-04-30
  • 打赏
  • 举报
回复
我前些时候也做了这么一个,思路为使用adsi 接口来设置iis,可以添加站点和虚拟目录,可以看看msdn中的adsi帮助。
其中有一个前提就是系统中必须安装了iis,但是我遇到的问题是如果用户使用的是pws的话,无法取得接口。
我的代码:
'得到iis接口''''''''''''''''''''
On Error GoTo Err
Set UobjADSI = GetObject("IIS://LocalHost/W3SVC/1/Root")
Set UobjWebVDir = UobjADSI.GetObject("IIsWebVirtualDir", "WEBQueryServer")
If Not UobjWebVDir Is Nothing Then
UBolVdirExists = True
TxtDir.Text = UobjWebVDir.Get("path")
TxtPage.Text = UobjWebVDir.Get("DefaultDoc")
End If
Exit Sub

Err:
If Err.Number = 432 Then
MsgBox "对不起!您的机器上没有安装IIS服务!请首先安装IIS服务,然后进行WEB服务器的配置!", vbInformation + vbOKOnly, "系统提示!"
End If
Set UobjADSI = Nothing
End

设置站点,其中使用2个文本框记录主目录与默认文档
'开始设置虚拟目录
Private Sub CmdOk_Click()

Dim lstrWebSite As String '虚拟站点名称
Dim lstrFriendlyName As String '
Dim lstrWebPath As String '主目录名称
Dim lstrDefaultDoc As String '起始页名称

On Error GoTo Err
lstrWebSite = "WEBQueryServer"
lstrFriendlyName = "WEBQueryServer"
If TxtDir.Text = "" Then '如果没有指定主目录则退出
MsgBox "请先指定WEB服务器的主目录!", vbInformation + vbOKOnly, "系统提示!"
CmdDir.SetFocus
Exit Sub
Else
lstrWebPath = TxtDir.Text
End If
If TxtPage.Text = "" Then '如果没有指定起始页则退出
MsgBox "", vbInformation + vbOKOnly, ""
CmdPage.SetFocus
Exit Sub
Else
lstrDefaultDoc = TxtPage.Text
End If

'如果 原本已经存在则修改
If UBolVdirExists = False Then
Set UobjWebVDir = UobjADSI.Create("IIsWebVirtualDir", lstrWebSite)
UobjWebVDir.SetInfo
End If
Set UobjWebVDir = UobjADSI.GetObject("IIsWebVirtualDir", lstrWebSite)
UobjWebVDir.AppCreate True
UobjWebVDir.Put "AppFriendlyName", lstrFriendlyName
UobjWebVDir.Put "AppRoot", "/LM/W3SVC/1/Root/" & lstrWebSite
UobjWebVDir.Put "Path", lstrWebPath
UobjWebVDir.Put "AppIsolated", 0
UobjWebVDir.Put "DefaultDoc", lstrDefaultDoc
UobjWebVDir.Put "AccessFlags", 535
UobjWebVDir.SetInfo

uStrQuitFlag = "ok"
If UBolVdirExists = True Then
MsgBox "WEB服务器配置成功修改!", vbInformation + vbOKOnly, "系统提示!"
Else
MsgBox "WEB服务器建立成功!", vbInformation + vbOKOnly, "系统提示!"
End If
UBolVdirExists = True
Exit Sub
Err:

If Err.Number = -2147024713 Then
Set UobjWebVDir = UobjADSI.Delete("IIsWebVirtualDir ", lstrWebSite)
Err.Clear
Set UobjWebVDir = UobjADSI.Create("IIsWebVirtualDir ", lstrWebSite)
Resume Next
End If

MsgBox "无法正确配置IIS服务!请检查IIS是否正确安装!", vbInformation + vbOKOnly, "系统提示!"
uStrQuitFlag = ""
Set UobjWebVDir = Nothing
Set UobjADSI = Nothing
end sub

在用户使用pws时,无法得到接口,如果你能解决了的话请告诉我ok?
我的email:xwfcy29@163.com

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧