Inno Setup 创建站点,创建虚拟目录

原文 http://hi.baidu.com/0531_sunmiles/item/ce22554ab7d33d0be9350477

下面的这段代码是用Inno Setup 做安装包的时候创建IIS新的站点用的。因为是测试的,所以罗列了很多功能。虽然我现在用不到这么多,还是怕忘记了,做个备份。注释的部分也很宝贵啊。

本文同期发布在 论坛: http://www.jn18178.cn

{---IIS部分---}
const
IISServerName = 'localhost';

IISServerNumber = '1';
IISURL = 'http://127.0.0.1';
procedure IISButtonOnClick(Sender: TObject);
var
IIS, WebSite, WebServer, WebRoot, VDir: Variant;
WNumber,NNumber,flag,ErrorCode: Integer;
begin

if MsgBox('安装将要连接到IIS服务器 ''' + IISServerName + ''' 并创建虚拟目录,要继续吗?', mbInformation, mb_YesNo) = idNo then
    Exit;
    
try
     IIS := CreateOleObject('IISNamespace');
except
    RaiseException('请先安装IIS!.'#13#13'(Error ''' + GetExceptionMessage + ''' occurred)');
end;

WebSite := IIS.GetObject('IIsWebService', GetComputerNameString() + '/w3svc');

WNumber := 1;

Repeat

flag    := 0;
try
    WebServer := WebSite.GetObject('IIsWebServer', inttostr(WNumber));
except
    flag := 1;
    WNumber := WNumber + 1;

end;

if (flag = 0) or (WNumber > 100) then
begin
     NNumber := WNumber + 1;
     WNumber :=0;
end;

until WNumber=0;

//MsgBox('X'+inttostr(NNumber), mbInformation, mb_Ok);

          WebServer := WebSite.Create('IIsWebServer','911');
          WebServer.ServerComment := '发票打印系统';
          WebServer.Serverbindings := ':8888:';
          WebServer.defaultDoc := 'default.asp';
          WebServer.AccessScript :=    TRUE;
          WebServer.AccessExecute := TRUE;
          WebServer.AccessRead :=    TRUE;
          WebServer.SetInfo();

   WebServer := WebSite.GetObject('IIsWebServer', '911');
   
WebRoot := WebServer.Create('IIsWebVirtualDir', 'Root');
WebRoot.Path := 'C:\temp';

WebRoot.AppFriendlyName := '默认应用程序';

WebRoot.AppCreate(True);
WebRoot.AccessRead := TRUE;

          WebRoot.AccessScript   :=   TRUE;
          WebRoot.AccessExecute   :=TRUE;
          WebRoot.AccessRead :=   TRUE;
WebRoot.SetInfo();

//try
// WebRoot.Delete('IIsWebVirtualDir', 'innosetup');
// WebRoot.SetInfo();
//except
//end;

VDir := WebRoot.Create('IIsWebVirtualDir', 'innosetup');
VDir.AccessRead := True;
VDir.AppFriendlyName := '发票打印程序';
VDir.Path := 'D:\temp';
VDir.AppCreate(True);
VDir.SetInfo();

MsgBox('Created virtual directory ''' + VDir.Path + '''.', mbInformation, mb_Ok);

{ Write some html and display it }

if MsgBox('Setup will now write some HTML and display the virtual directory. Do you want to continue?', mbInformation, mb_YesNo) = idNo then
    Exit;

ForceDirectories(VDir.Path);
//SaveStringToFile(VDir.Path + '/index.htm', '<html><body>Inno Setup rocks!</body></html>', False);
//if not ShellExec('open', IISURL + '/innosetup/index.htm', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode) then
// MsgBox('Can''t display the created virtual directory: ''' + SysErrorMessage(ErrorCode) + '''.', mbError, mb_Ok);

时间: 2024-09-14 02:17:15

Inno Setup 创建站点,创建虚拟目录的相关文章

ASP.NET通过WMI创建站点添加虚拟目录和主机头

前言 本文介绍了ASP.NET如何通过WMI创建站点.添加虚拟目录和添加主机头.并且已在Windows Server 2003及IIS6的环境下测试通过.       这玩意儿花了老子3天时间才搞定,用了几个小时写代码,而且当中还花了不少时间解决Win32: Access denied error的问题.当然我要指出的是,无论NETWORK SERVER帐户还是IUSR_<servername>帐户都不要设置过大的权限.对于WMI和IIS metabase的安全机理,我还是一无所知的.我只不过

win2003服务器中创建Web网站虚拟目录的图文方法_win服务器

有两种方式可以实现这一目标,一种方式是在网站主目录中新建一个子目录,并把相关内容复制到这个目录中.另一种方式就是创建虚拟目录,虚拟目录既可以是本地磁盘中的任何一个目录,也可以是网络中其他计算机中的目录.相对而言,创建子目录的方式更安全高效.<?XML:NAMESPACE PREFIX = O /> 虚拟目录需要在主目录的基础上进行创建,创建步骤如下所述: 第1步,在开始菜单中依次单击"管理工具"→"Internet信息服务(IIS)管理器"菜单项,打开&

C#创建IIS虚拟目录的方法

  本文实例讲述了C#创建IIS虚拟目录的方法.分享给大家供大家参考.具体分析如下: DirectoryEntry是.Net给我们的一大礼物,他的名字我们就知道他的功能--目录入口.使用过ADSI的人都知道操作IIS,WinNT这些时,我们还需要提供他们的Path,操作IIS时,这个Path的格式为: 代码如下: IIS://ComputerName/Service/Website/Directory ComputerName:即操作的服务器的名字,可以是名字也可以是IP,经常用的就是local

使用 iisftpdr.vbs 创建 FTP 虚拟目录的方法_vbs

应用到: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1 可以使用命令行脚本 iisftpdr.vbs(存储在 systemroot\System32\ 中)在运行带有 IIS 6.0 的 Windows Server 2003 家族成员的本地或远程计算机上创建新的 FTP 虚拟目录.该命令不创建或破坏内容,而只是简单地设置虚拟目录结构和 IIS 配置文件. 在使用 iisftpdr.vbs 创建

使用AdminScripts脚本创建虚拟目录

创建|脚本|虚拟目录 AdminScripts脚本位于\Inetpub\AdminScripts目录下,本文介绍如何使用这些脚本来创建一个虚拟目录,并对该虚拟目录进行参数设置. AdminScripts目录下的脚本很多,这里只使用了其中的两个,adsutil.vbs和chaccess.vbs: adsutil.vbs - 可用于创建并配置虚拟目录(实际上adsutil.vbs的功能涵盖了其他所有脚本) chaccess.vbs - 设定虚拟目录的权限 下面是批处理脚本makevd.bat的内容,

使用visual studio自动创建IIS虚拟目录_实用技巧

1, 在web属性中,点击创建"Create Virtual Directory". 2, 在IIS中将显示创建好的虚拟目录 注意:如果虚拟目录层数大于1,则需要在C:\inetpub\wwwroot中手动创建对应的子目录.

使用ADSI、ASP和一对魔术戏法自动地创立一个虚拟目录

虚拟目录 使用ADSI.ASP和一对魔术戏法自动地创立一个虚拟目录,第二部分 Tom Moran 和 Jeff Sandquist 1999年2月22日 我们回来了.大家翘首以盼的这篇文章的第二部分现在在这儿.并且我想你将花费整个晚上看你的猫清洗自己. 这个月,Jeff Sandquist和我完成了我们的动态目录服务接口(Active Directory Services Interfaces ,ADSI)应用程序.如果你来晚了一点,没有问题:只要见这个系列的Part 1 http://www.

使用用于SQL Server的IIS虚拟目录管理实用工具

iis|server|虚拟目录 在使用 HTTP 访问 Microsoft? SQL Server? 2000 数据库之前,必须安装适当的虚拟目录.在运行 Microsoft Internet 信息服务 (IIS) 的计算机上,使用用于 SQL Server 的 IIS 虚拟目录管理实用工具(在"SQL Server 工具"程序组中单击"在 IIS 中配置 SQL XML 支持")定义并注册新的虚拟目录,即所谓的虚拟根.该实用工具指示 IIS 在新的虚拟目录和 Mi

使用用于 SQL Server 的 IIS 虚拟目录管理实用工具

iis|server|虚拟目录 使用用于 SQL Server 的 IIS 虚拟目录管理实用工具在使用 HTTP 访问 Microsoft? SQL Server? 2000 数据库之前,必须安装适当的虚拟目录.在运行 Microsoft Internet 信息服务 (IIS) 的 计算机上,使用用于 SQL Server 的 IIS 虚拟目录管理实用工具(在"SQL Server 工具"程序组中单击"在 IIS 中配置 SQL XML 支持")定义 并注册新的虚拟

使用用于SQL IIS虚拟目录管理实用工具

在使用 HTTP 访问 Microsoft SQL Server 2000 数据库之前,必须安装适当的虚拟目录.在运行 Microsoft Internet 信息服务 (IIS) 的计算机上,使用用于 SQL Server 的 IIS 虚拟目录管理实用工具(在"SQL Server 工具"程序组中单击"在 IIS 中配置 SQL XML 支持")定义并注册新的虚拟目录,即所谓的虚拟根.该实用工具指示 IIS 在新的虚拟目录和 Microsoft SQL Server