请问各位 安装iis的windows API 是什么 ,用delphi实现iis的安装 急!!!(200分)

  • 主题发起人 主题发起人 yangxiangpao
  • 开始时间 开始时间
Y

yangxiangpao

Unregistered / Unconfirmed
GUEST, unregistred user!
到底有没有安装iis的windows API , 有的话是什么,没有的话也请大家帮忙 ,用delphi实现iis的安装  急!!!
 
aimingoo (2000-09-25 14:45:47) &nbsp; <br>大师的方法需要安装Script Host。在WinNT SP6+IE4.x的环境中是不带的,需要另装Script Host <br>或者安装IE5.x。这需要注意。 <br><br>下面公布我的方法。——原本是昨天公布的,不过太忙。哈哈,就…… <br><br>首先确认,API是绝对解决不了这些问题的,必须使用COM,使用ADSI接口。 <br>在WinNT/System32下的adsiis.tlb是MS封装的ADSI公开接口,非常的全,也非常之庞大。你可 <br>以使用它,也可以去这儿下载一个公开源码的ADSI COM控件。但是,它是C写的。 <br> &nbsp; ftp://ftp.15seconds.com/990107.zip <br>打开990107.zip,用regsvr32.exe myadsi.dll注册这个控件。然后,你就可以开始用Delphi <br>干活儿了。 <br><br>一、生成接口文件 <br>------------------------------------------------------------------------ <br>由于myADSI.dll不是OCX/EXE方式的ActiveX服务,所以,必须手工生成TLB接口文件。 <br>运行/Delphi/BIN目录的TLIBImp.exe文件。如下: <br> tlibimp -L+ MyADSI.dll <br> // L+参数是生成能够在Delphi的IDE环境中使用的可视组件。可选。 <br> // 如果你使用adsiis.tlb,也需要用tlibimp来生成接口文件。 <br>这个控件的编写者有病,会将COM控件命名为Contorl,生成的Delphi类名叫TControl,与 <br>Delphi自己的一个控件会冲突,所以你需要打开生成的myADSILib_TLB.pas文件,将所有的 <br>TControl替换成TIISControl。就成了。——你也可以不替换,但出了问题可被怪我。 :) <br><br>二、安装组件 <br>------------------------------------------------------------------------ <br>安装myADSILib_TLB.pas到组件板,与普通操作无二。不讲了。 <br><br>三、编程 <br>------------------------------------------------------------------------ <br>太简单了。 ^-^。下面假设控件名:IISConfig <br>var selectDir : integer; &nbsp; &nbsp; //示例中用来控制创建的虚拟目录类型。 <br>procedure TMainForm.Button1Click(Sender: TObject); <br>const //Permissions Const, From MSDN. <br> IISReadAccess &nbsp; &nbsp; = 1; <br> IISWriteAccess &nbsp; &nbsp;= 2; <br> IISExecuteAccess &nbsp;= 4; &nbsp; &nbsp; //(including ScriptAccess) <br> IISScriptAccess &nbsp; = 512; <br>var <br> VDirName : string; <br>begin <br> VDirName := Edit1.Text; <br> if (VDirName='') or (VDirName[1]='/') then <br> &nbsp; begin <br> &nbsp; &nbsp; showMessage('虚拟目录不能为空, 且第一个字符不能为''/''.'#$0D'请重新填写.'); <br> &nbsp; &nbsp; exit; <br> &nbsp; end; <br><br> IISConfig.Site := 1; &nbsp;//如果IIS中有多个Web Site,这里可选。 <br> IISConfig.Connect; <br> try <br> &nbsp; if BOOL(IISConfig.ExistsVDir(VDirName)) <br> &nbsp; &nbsp; then showMessage('对不起, 该虚拟目录已经存在.'#$0D'不能创建虚拟目录.') <br> &nbsp; &nbsp; else <br> &nbsp; &nbsp; &nbsp; case selectDir of <br> &nbsp; &nbsp; &nbsp; &nbsp; 1 : //普通目录 <br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; begin <br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; IISConfig.Permissions := IISReadAccess; <br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if not BOOL(IISConfig.CreateVDir(WideString(PBF.Folder), WideString(VDirName))) then <br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; showMessage('对不起, 未知情况导致虚拟目录不能成功创建.'); <br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; end; <br> &nbsp; &nbsp; &nbsp; &nbsp; 2 : //脚本目录 <br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; begin <br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; IISConfig.Permissions := IISExecuteAccess; <br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if not BOOL(IISConfig.CreateVDir(WideString(PBF.Folder), WideString(VDirName))) then <br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; showMessage('对不起, 未知情况导致虚拟目录不能成功创建.'); <br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; end; <br> &nbsp; &nbsp; &nbsp; end; <br> finally <br> &nbsp; IISConfig.Disconnect; <br> end; <br>end; <br><br>就这样啦。不难的。 <br>TIISControl主要有三个功能:CreateVDir(), ExistsVDir(), DeleteVDir()。 <br>OnStartPage()和OnEndPage()两个功能我也没有太搞明白,好象是设置ASP的起始和结束页的。 <br>Permissions设置的全部定义是: <br>{ &nbsp;//Define In MSDN <br> &nbsp; MD_ACCESS_READ 0x00000001 Allow read access. <br> &nbsp; MD_ACCESS_WRITE 0x00000002 Allow write access. <br> &nbsp; MD_ACCESS_EXECUTE 0x00000004 Allow file execution (includes script permission). <br> &nbsp; MD_ACCESS_SOURCE 0x00000010 Allow source access. <br> &nbsp; MD_ACCESS_SCRIPT 0x00000200 Allow script execution. <br> &nbsp; MD_ACCESS_NO_REMOTE_WRITE 0x00000400 Local write access only. <br> &nbsp; MD_ACCESS_NO_REMOTE_READ 0x00001000 Local read access only. <br> &nbsp; MD_ACCESS_NO_REMOTE_EXECUTE 0x00002000 Local execution only. <br> &nbsp; MD_ACCESS_NO_REMOTE_SCRIPT 0x00004000 Local host access only. } <br>但注意MyASDI中的Permissions是smallInt类型的。小有区别啦。 ^-^ <br><br>四、其它 <br>------------------------------------------------------------------------ <br>如果你要发布软件的话,当然不能要用户自已去运行regsvr32.exe来注册MyADSI.dll了。
 
楼主不会是想自己安装IIS系统吧?这个是Windows完成的,且需要Windows安装盘支持。而且也不是IIS的API啊。
 
我就是不清楚 ,公司要求安装的时候自动完成,要做成产品 ,就不能、让用户自己配啊,<br>至于能不能调我不知道。应该是象xiammy说的把,我试试 &nbsp;,先谢谢
 
需求不清
 
WinNT/System32下的adsiis.tlb 没有啊 ,adsiis.dll也没啊
 
to xiammy &nbsp; WinNT/System32下的adsiis.tlb &nbsp;没有
 
发到你邮箱了
 
接受答案了.
 
后退
顶部