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

简介: 原文 http://hi.baidu.com/0531_sunmiles/item/ce22554ab7d33d0be9350477 下面的这段代码是用Inno Setup 做安装包的时候创建IIS新的站点用的。

原文 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);

目录
相关文章
|
1月前
|
关系型数据库 MySQL 数据库
SiteGround主机站点工具SITE TOOLS设置教程
当你使用SiteGround搭建WordPress或WooCommerce网站后,你会经常登录到两个不同的网站后台:一个是SiteGround的Site Tools后台,用于进行网站的安全、速度优化、FTP工具和网站备份等技术操作;另一个是WordPress网站后台,主要用于管理网站内容、调整前台显示样式和编辑网站功能。本文我们介绍了如何使用SiteGround SITE TOOLS主机站点工具管理网站。
29 0
SiteGround主机站点工具SITE TOOLS设置教程
|
9月前
thinkphp5.0 build.php自动创建模块目录和文件
thinkphp5.0 build.php自动创建模块目录和文件
52 0
Confluence 6 虚拟文件和文件夹
在取消点赞事件中,你可能会遇到 WebDAV  客户端的问题或者不稳定的情况,你可以启用访问自动创建(虚拟)文件和文件夹。
974 0
|
存储 应用服务中间件 数据格式
Confluence 6 创建站点的导出文件
希望为你的站点创建一个 XML 导出文件: 进入  > 基本配置(General Configuration) > 备份和恢复(Backup & Restore)。
1069 0
|
安全 数据安全/隐私保护
解决IIS 不能下载.exe.config文件的方法
IIS允许下载".config"文件 Config文件是web的配置文件,默认是不允许下载的,就算在MIME中配置“application/octet-stream”,也是下载不了。当然出于安全考虑Config文件应是不允许下载会稳妥一些。
1424 0