如何让InstallShield做的安装程序自动建立IIS虚拟目录?高分
我做的网页想用InstallShield打包做成安装程序,由于客户可能将我做的网页放在他们想放的路径下。这样的话,我就必须要求客户在IIS里手动创建一个虚拟目录并指向网页的路径。
有人知道如何编写InstallShield的脚本来实现自动建立IIS虚拟目录吗?
问题点数:100、回复次数:14Top
1 楼xiaojian(萧剑)回复于 2002-02-20 23:32:33 得分 0
gzTop
2 楼wwsas(韩柏)回复于 2002-02-21 10:39:25 得分 10
这个方法可以在你运行程序时预先按照你的要求设置好IIS的虚拟目录,如果希望客户自行定义设置内容你对COMMAND1做一下修改就可以了!希望可以帮到你。
Private Sub Command1_Click()
strWebSite = "" '虚拟站点名称
strFriendlyName = "" '程序名称
strWebPath = "" '网页文件路径
strDefaultDoc '默认网站首页
MsgBox WebVirtualDir(strWebSite, strFriendlyName, strWebPath, strDefaultDoc)
'返回 True ,表示设置成功
End Sub
Public Function WebVirtualDir(ByVal strWebSite As String, ByVal strFriendlyName As String, ByVal strWebPath As String, ByVal strDefaultDoc As String) As Boolean
Dim Han As Object
Dim Coco As Object
On Error GoTo Wrong_Err '出错控制
Set Han = GetObject("IIS://LocalHost/W3SVC/1/Root") '设置IIS根目录所在路径
Set Coco = Han.Create("IIsWebVirtualDir", strWebSite) '设置目录所在
Coco.SetInfo
Set Coco = Han.GetObject("IIsWebVirtualDir", strWebSite)
Coco.AppCreate True
Coco.Put "AppFriendlyName", strFriendlyName
Coco.Put "AppRoot", "/LM/W3SVC/1/Root/" & strWebSite
Coco.Put "Path", strWebPath
Coco.Put "AppIsolated", 0 '应用程序保护设置
Coco.Put "DefaultDoc", strDefaultDoc
Coco.Put "AccessFlags", 535
Coco.SetInfo
WebVirtualDir = True
Wrong_End:
Set Coco = Nothing '制空
Set Han = Nothing
Exit Function
Wrong_Err:
WebVirtualDir = False '差错控制
strError = Err.Description
Err.Clear
Resume Wrong_End
End Function
Top
3 楼wwsas(韩柏)回复于 2002-02-21 10:39:28 得分 10
这个方法可以在你运行程序时预先按照你的要求设置好IIS的虚拟目录,如果希望客户自行定义设置内容你对COMMAND1做一下修改就可以了!希望可以帮到你。
Private Sub Command1_Click()
strWebSite = "" '虚拟站点名称
strFriendlyName = "" '程序名称
strWebPath = "" '网页文件路径
strDefaultDoc '默认网站首页
MsgBox WebVirtualDir(strWebSite, strFriendlyName, strWebPath, strDefaultDoc)
'返回 True ,表示设置成功
End Sub
Public Function WebVirtualDir(ByVal strWebSite As String, ByVal strFriendlyName As String, ByVal strWebPath As String, ByVal strDefaultDoc As String) As Boolean
Dim Han As Object
Dim Coco As Object
On Error GoTo Wrong_Err '出错控制
Set Han = GetObject("IIS://LocalHost/W3SVC/1/Root") '设置IIS根目录所在路径
Set Coco = Han.Create("IIsWebVirtualDir", strWebSite) '设置目录所在
Coco.SetInfo
Set Coco = Han.GetObject("IIsWebVirtualDir", strWebSite)
Coco.AppCreate True
Coco.Put "AppFriendlyName", strFriendlyName
Coco.Put "AppRoot", "/LM/W3SVC/1/Root/" & strWebSite
Coco.Put "Path", strWebPath
Coco.Put "AppIsolated", 0 '应用程序保护设置
Coco.Put "DefaultDoc", strDefaultDoc
Coco.Put "AccessFlags", 535
Coco.SetInfo
WebVirtualDir = True
Wrong_End:
Set Coco = Nothing '制空
Set Han = Nothing
Exit Function
Wrong_Err:
WebVirtualDir = False '差错控制
strError = Err.Description
Err.Clear
Resume Wrong_End
End Function
Top
4 楼TechnoFantasy((VB MVP)www.applevb.com)回复于 2002-02-21 11:31:08 得分 10
有一个net XXX (具体是什么我不记得了)命令可以添加虚拟目录,你不如在安装脚本中执行该命令来添加虚拟目录
Top
5 楼water_j(随心所欲)回复于 2002-04-11 11:02:16 得分 10
net add!
net share!Top
6 楼water_j(随心所欲)回复于 2002-04-11 11:04:12 得分 10
C:\>net share|help
若需指定命令的详细信息,请键入“HELP 命令名”。
ASSOC Displays or modifies file extension associations
AT Schedules commands and programs to run on a computer.
ATTRIB Displays or changes file attributes.
BREAK Sets or clears extended CTRL+C checking.
CACLS Displays or modifies access control lists (ACLs) of files.
CALL Calls one batch program from another.
CD Displays the name of or changes the current directory.
CHCP Displays or sets the active code page number.
CHDIR Displays the name of or changes the current directory.
CHKDSK Checks a disk and displays a status report.
CHKNTFS Displays or modifies the checking of disk at boot time.
CLS Clears the screen.
CMD Starts a new instance of the Windows 2000 command interpreter.
COLOR Sets the default console foreground and background colors.
COMP Compares the contents of two files or sets of files.
COMPACT Displays or alters the compression of files on NTFS partitions.
CONVERT Converts FAT volumes to NTFS. You cannot convert the
current drive.
COPY Copies one or more files to another location.
DATE Displays or sets the date.
DEL Deletes one or more files.
DIR Displays a list of files and subdirectories in a directory.
DISKCOMP Compares the contents of two floppy disks.
DISKCOPY Copies the contents of one floppy disk to another.
DOSKEY Edits command lines, recalls Windows 2000 commands, and creates macros.
ECHO Displays messages, or turns command echoing on or off.
ENDLOCAL Ends localization of environment changes in a batch file.
ERASE Deletes one or more files.
EXIT Quits the CMD.EXE program (command interpreter).
FC Compares two files or sets of files, and displays the differences
between them.
FIND Searches for a text string in a file or files.
FINDSTR Searches for strings in files.
FOR Runs a specified command for each file in a set of files.
FORMAT Formats a disk for use with Windows 2000.
FTYPE Displays or modifies file types used in file extension associations.
GOTO Directs the Windows 2000 command interpreter to a labeled line in a
batch program.
GRAFTABL Enables Windows 2000 to display an extended character set in graphics
mode.
HELP Provides Help information for Windows 2000 commands.
IF Performs conditional processing in batch programs.
LABEL Creates, changes, or deletes the volume label of a disk.
MD Creates a directory.
MKDIR Creates a directory.
MODE Configures a system device.
MORE Displays output one screen at a time.
MOVE Moves one or more files from one directory to another directory.
PATH Displays or sets a search path for executable files.
PAUSE Suspends processing of a batch file and displays a message.
POPD Restores the previous value of the current directory saved by PUSHD.
PRINT Prints a text file.
PROMPT Changes the Windows 2000 command prompt.
PUSHD Saves the current directory then changes it.
RD Removes a directory.
RECOVER Recovers readable information from a bad or defective disk.
REM Records comments (remarks) in batch files or CONFIG.SYS.
REN Renames a file or files.
RENAME Renames a file or files.
REPLACE Replaces files.
RMDIR Removes a directory.
SET Displays, sets, or removes Windows 2000 environment variables.
SETLOCAL Begins localization of environment changes in a batch file.
SHIFT Shifts the position of replaceable parameters in batch files.
SORT Sorts input.
START Starts a separate window to run a specified program or command.
SUBST Associates a path with a drive letter.
TIME Displays or sets the system time.
TITLE Sets the window title for a CMD.EXE session.
TREE Graphically displays the directory structure of a drive or path.
TYPE Displays the contents of a text file.
VER Displays the Windows 2000 version.
VERIFY Tells Windows 2000 whether to verify that your files are written
correctly to a disk.
VOL Displays a disk volume label and serial number.
XCOPY Copies files and directory trees.Top
7 楼water_j(随心所欲)回复于 2002-04-11 11:10:14 得分 10
D:\>net share test$=d:\test
test$ 共享成功。Top
8 楼Ganzl(甘逐浪)回复于 2002-04-11 11:23:13 得分 5
建议使用wwsas(韩柏)所例的方法,使用IIS的管理COM,也就是微软IIS 管理器HTML版的基础Top
9 楼Ganzl(甘逐浪)回复于 2002-04-11 11:25:22 得分 10
不过Install Shield 7只支持CreateObject而不支持GetObject,令人头痛,只能写在VB程序里或WSH脚本文件里了Top
10 楼load(不是东西)回复于 2002-04-11 11:49:22 得分 5
把wwsas(韩柏)的方法写到一个DLL中,然后在INSTALLSHIELD里调用这个库函数,肯定管用。Top
11 楼xiaojian(萧剑)回复于 2002-04-12 08:37:50 得分 0
在InstallShield中如何调用WSH?Top
12 楼load(不是东西)回复于 2002-04-12 10:20:31 得分 0
参考
http://www.csdn.net/expert/topic/633/633634.xml?temp=.6560785Top
13 楼xiaojian(萧剑)回复于 2002-04-14 09:33:02 得分 0
上铺的兄弟,WSH与API的调用方法一样吗?Top
14 楼Ganzl(甘逐浪)回复于 2002-04-15 09:29:18 得分 20
WSH(Windows Scripting Host),可以将VBScript脚本写入扩展名为.vbs的文本文件中,然后通过双击或使用命令行运行:
wscript vbs文件名
或
cscript vbs文件名
具体使用方法在MSDN中有详细说明
另外,你可以将建立虚拟目录的代码写在VB程序中,通过InstallShield的函数调用并传递参数,参数可以使用VB的command函数获取Top





