📄 isapi_install.vbs
字号:
'' Copyright 1999-2004 The Apache Software Foundation'' Licensed under the Apache License, Version 2.0 (the "License");' you may not use this file except in compliance with the License.' You may obtain a copy of the License at'' http://www.apache.org/licenses/LICENSE-2.0'' Unless required by applicable law or agreed to in writing, software' distributed under the License is distributed on an "AS IS" BASIS,' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.' See the License for the specific language governing permissions and' limitations under the License.'' =========================================================================' Description: Install script for Tomcat ISAPI redirector ' Author: Peter S. Horne <horneps@yahoo.com.au> ' Version: $Revision: 1.5 $ ' ========================================================================='' This script automatically installs the tomcat isapi_redirector for use in' both out-of and in-process installations on IIS/Win2K. See the command line' usage section for usage instructions.'' Check the command line'set args = wscript.argumentsif args.count <> 6 then info "" info "Tomcat ISAPI Redirector Installation Utility" info "usage: isapi_install <server> <fdir> <worker> <mount> <log> <level>" info " server: The Web Server Name (for example 'Default Web Site')" info " fdir: the full path to the directory that contains the isapi filter" info " worker: Full path and file name of the worker properties file" info " mount: Full path and file name of the worker mount properties file" info " log: Full path and file name of the log file" info " level: The log level emerg | info" info "(Re-runs are ok and will change/reset settings)" info "" fail "Incorrect Arguments"end if' Setup the argsserverName = args(0)filterDir = args(1)filterName = "jakarta"filterLib = "\isapi_redirect.dll"workerFile = args(2)mountFile = args(3)logFile = args(4)logLevel = args(5)'' Get a shell'dim shellset shell = WScript.CreateObject("WScript.Shell")'' Find the indicated server from all the servers in the service ' Note: they aren't all Web!'set service = GetObject("IIS://LocalHost/W3SVC" )serverId = ""for each thing in service if thing.Class = "IIsWebServer" then if thing.ServerComment = serverName then set server = thing serverId = thing.name exit for end if end ifnextif serverId = "" then fail "Server " + serverName + " not found."info "Found Server <" + serverName + "> at index [" + serverId + "]."'' Stop everything to release any dlls - needed for a re-install'' info "Stopping server <" + serverName + ">..."' server.stop' info "Done"'' Get a handle to the filters for the server - we process all errors'On Error Resume Nextdim filtersset filters = GetObject("IIS://LocalHost/W3SVC/" + serverId + "/Filters")if err then err.clear info "Filters not found for server - creating" set filters = server.create( "IIsFilters", "Filters" ) filters.setInfo if err then fail "Error Creating Filters"end ifinfo "Got Filters"'' Create the filter - if it fails then delete it and try again'name = filterNameinfo "Creating Filter - " + filterNamedim filterset filter = filters.Create( "IISFilter", filterName )if err then err.clear info "Filter exists - deleting" filters.delete "IISFilter", filterName if err then fail "Error Deleting Filter" set filter = filters.Create( "IISFilter", filterName ) if err then fail "Error Creating Filter"end ifinfo "Created Filter"'' Set the filter info and save it'filter.FilterPath = filterDir + filterLib filter.FilterEnabled=truefilter.description = filterNamefilter.notifyOrderHigh = truefilter.setInfo'' Set the load order - only if it's not in the list already'on error goto 0loadOrders = filters.FilterLoadOrderlist = Split( loadOrders, "," )found = falsefor each item in list if Trim( item ) = filterName then found = truenextif found = false then info "Filter is not in load order - adding now." if len(loadOrders) <> 0 then loadOrders = loadOrders + "," filters.FilterLoadOrder = loadOrders + filterName filters.setInfo info "Filter added."else info "Filter already exists in load order - no update required."end if'' Set the registry up' regRoot = "HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0\"err.clearon error resume nextshell.RegDelete( regRoot )if err then info "Entering Registry Information for the first time"else info "Deleted existing Registry Setting"end ifon error goto 0info "Updating Registry"shell.RegWrite regRoot + "extension_uri", "/jakarta/isapi_redirect.dll"shell.RegWrite regRoot + "log_file", logFileshell.RegWrite regRoot + "log_level", logLevelshell.RegWrite regRoot + "worker_file", workerFileshell.RegWrite regRoot + "worker_mount_file", mountFileinfo "Registry Settings Created"'' Finally, create the virtual directory matching th extension uri' on error goto 0set root = GetObject( "IIS://LocalHost/W3SVC/" + serverID + "/ROOT" )on error resume nextset vdir = root.Create("IISWebVirtualDir", filterName )if err then info "Directory exists - deleting" on error resume next root.delete "IISWebVirtualDir", filterName root.setInfo if err then fail "Error Deleting Directory" set vdir = root.create("IISWebVirtualDir", filterName ) if err then fail "Error Creating Directory"end ifinfo "Directory Created"' Set the directory information - make it an application directoryinfo "Setting Directory Information"vdir.AppCreate2 1vdir.AccessExecute = TRUEvdir.AppFriendlyName = filterNamevdir.AccessRead = falsevdir.ContentIndexed = falsevdir.Path = filterDirvdir.setInfoif err then fail "Error saving new directory"info "Directory Saved"'' Re Start '' info "Starting server <" + serverName + ">..."' server.start' info "Done"info "All done... Bye."wscript.quit(0)' ' Helper function for snafus'function fail( message ) wscript.echo "E: " + message wscript.quit(1)end function'' Helper function for info'function info( message ) wscript.echo " " + messageend function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -