我为经典的asp网站创建了一个安装程序。 我可以将应用程序添加到IIS并设置应用程序池,友好名称和允许脚本。 我也想设置“启用父路径”。
有什么想法吗?有没有EnableParentPaths = true?
以下是我用来将网站添加到IIS的somw代码,以备不时之需:
if (IISOptionsPage.Values[1] <> '') then begin
IISDefAppPool := IISOptionsPage.Values[1];
end else begin
IISDefAppPool := ExpandConstant('{#IISDefaultAppPool}');
end;
{ Create the main IIS COM Automation object }
try
IIS := CreateOleObject('IISNamespace');
except
RaiseException('IIS is not installed?.'#13#13'(Error: ''' + GetExceptionMessage );
end;
{ Connect to the IIS server }
WebSite := IIS.GetObject('IIsWebService', IISServerName + '/w3svc');
WebServer := WebSite.GetObject('IIsWebServer', IISServerNumber);
WebRoot := WebServer.GetObject('IIsWebVirtualDir', 'Root');
WebAppName := ExtractLastDir(ExpandConstant('{app}'));
{ (Re)create a virtual dir }
try
WebRoot.Delete('IIsWebVirtualDir', WebAppName);
WebRoot.SetInfo();
except
end;
VDir := WebRoot.Create('IIsWebVirtualDir', WebAppName);
VDir.AccessRead := True;
VDir.AccessScript := True;
VDir.AppFriendlyName := WebAppName;
VDir.Path := ExpandConstant('{app}');
try
VDir.AppPoolId := IISDefAppPool;
except
MsgBox('AppPool not set.'#13#13'(Error: ''' + GetExceptionMessage, mbInformation, mb_Ok);
end;
try
VDir.AppCreate(True);
except
MsgBox('App not created.'#13#13'(Error: ''' + GetExceptionMessage, mbInformation, mb_Ok);
end;
try
VDir.SetInfo();
except
MsgBox('Info no set.'#13#13'(Error: ''' + GetExceptionMessage, mbInformation, mb_Ok);
end;
答案 0 :(得分:2)
我猜你正在寻找AspEnableParentPaths
对象的IIsWebVirtualDir
属性。尝试使用以下行扩展脚本:
VDir.AspEnableParentPaths := True;