Hi, I need to understand how create conditional setup of my web application. I have conditions, that specify in UI: (1) Use a Virtual Directory or Separate Web Site (2) Use Windows Integrated Security or Default (3) ip, port, alias, ... it's not so important If user select Windows Integrated Security installer must add special settings for folder Shared/handlers, it in all cases mast be with AnonymousAccess This installation should work on all x86 machines( IIS 5.1, IIS 6, IIS 7 ). Unfortunately IIsSchema is not so flexible(Ex. WebVirtualDir.DirProperties couldn't be a property) I'm write like this:
<Fragment> <!-- parent web site definition PARENTSITE_VALUE - specify in UI --> <iis:WebSite Id='ParentWebSite' Description='parent site for asc' SiteId='[PARENTSITE_VALUE]' > <iis:WebAddress Id='DefaultWebAddress' Port='80'/> </iis:WebSite> <!--default security properties--> <iis:WebDirProperties Id='IIS.DefaultWebDirProperties' DefaultDocuments="Default.aspx" WindowsAuthentication="no" AnonymousAccess="yes"/> <!--integrated security properties--> <iis:WebDirProperties Id='IIS.WinIntegratedWebDirProperties' DefaultDocuments="Default.aspx" WindowsAuthentication="yes" AnonymousAccess="no"/> <!-- separated apppool for application --> <Component Id="IISCOMP.WebAppPool" Guid="....." Directory="WEBAPPFOLDER"> <CreateFolder /> <iis:WebAppPool Id="IIS.AppPool" Identity="networkService" Name="AscWebAppPool" /> </Component> <!--web application definition --> <iis:WebApplication Id="IIS.ASCWebApp" Name="AscServicesApp" Isolation="high" WebAppPool="IIS.AppPool"> </iis:WebApplication> <!--setup as virtual directory with windows integrated security--> <DirectoryRef Id="WEBAPPFOLDER"> <Component Id="IISCOMP.WinIntegratedSecurityVirtualDirectory" Guid="B63E9313-0794-482C-A9D5-576C8D9FDD65"> <CreateFolder /> <iis:WebVirtualDir Id="IIS.WinIntegratedSecurityVirtualDirectory" WebSite="ParentWebSite" Directory="WEBAPPFOLDER" Alias="[WEBAPPALIAS]" DirProperties='IIS.WinIntegratedWebDirProperties' WebApplication='IIS.ASCWebApp'> </iis:WebVirtualDir> <iis:WebDir Id='IIS.UnsecureWebDirOfVirtualDir' Path='[WEBAPPALIAS]/Shared/handlers' WebSite='ParentWebSite' DirProperties='IIS.DefaultWebDirProperties' /> <Condition ><![CDATA[IISSETUPTYPE="VirtualDirectory" AND IISWITHINTEGRATEDSECURITY="1"]]> </Condition> </Component> </DirectoryRef> <!--setup as virtual directory with default security--> <DirectoryRef Id="WEBAPPFOLDER"> <Component Id="IISCOMP.DefaultSecurityVirtualDirectory" Guid="F28DE4CF-9727-4F82-8289-7EC7354C6415"> <CreateFolder /> <iis:WebVirtualDir Id="IIS.DefaultSecurityVirtualDirectory" WebSite="ParentWebSite" Directory="WEBAPPFOLDER" Alias="[WEBAPPALIAS]" DirProperties='IIS.DefaultWebDirProperties' WebApplication='IIS.ASCWebApp' > </iis:WebVirtualDir> <Condition ><![CDATA[IISSETUPTYPE="VirtualDirectory" AND IISWITHINTEGRATEDSECURITY<>"1"]]> </Condition> </Component> </DirectoryRef> <!--setup as separated web site with windows integrated security--> <DirectoryRef Id="WEBAPPFOLDER"> <Component Id="IISCOMP.WinIntegratedSecurityWebSite" Guid="77B6CDB4-ED9B-4264-8893-7A5B6EDD835C"> <CreateFolder /> <iis:WebSite Id="IIS.WinIntegratedSecurityWebSite" SiteId="[WEBSITEID]" Description="[WEBAPPALIAS]" Directory="WEBAPPFOLDER" DirProperties='IIS.WinIntegratedWebDirProperties' WebApplication='IIS.ASCWebApp' AutoStart='yes' > <iis:WebAddress Id='IIS.WinIntegratedSecurityWebSiteAddress' IP='[WEBSITEIP]' Port='[WEBSITEPORT]'/> </iis:WebSite> <iis:WebDir Id='IIS.UnsecureWebDirOfWebSite' Path='Shared/handlers' WebSite='IIS.WinIntegratedSecurityWebSite' DirProperties='IIS.DefaultWebDirProperties' /> <Condition ><![CDATA[IISSETUPTYPE="SeparateWebSite" AND IISWITHINTEGRATEDSECURITY="1"]]> </Condition> </Component> </DirectoryRef> <!--setup as separated web site with default security--> <DirectoryRef Id="WEBAPPFOLDER"> <Component Id="IISCOMP.DefaultSecurityWebSite" Guid="EA285251-E811-46B9-928F-3A894ECDC2C3"> <CreateFolder /> <iis:WebSite Id="IIS.DefaultSecurityWebSite" SiteId="[WEBSITEID]" Description="[WEBAPPALIAS]" Directory="WEBAPPFOLDER" DirProperties='IIS.DefaultWebDirProperties' WebApplication='IIS.ASCWebApp' AutoStart='yes' > <iis:WebAddress Id='IIS.DefaultSecurityWebSiteAddress' IP='[WEBSITEIP]' Port='[WEBSITEPORT]'/> </iis:WebSite> <Condition ><![CDATA[IISSETUPTYPE="SeparateWebSite" AND IISWITHINTEGRATEDSECURITY<>"1"]]> </Condition> </Component> </DirectoryRef> run installer on XP, select install in virtual directory with windows integrated security installation log: ... Component: IISCOMP.WinIntegratedSecurityVirtualDirectory; Installed: Absent; Request: Local; Action: Local Component: IISCOMP.DefaultSecurityVirtualDirectory; Installed: Absent; Request: Local; Action: Null Component: IISCOMP.WinIntegratedSecurityWebSite; Installed: Absent; Request: Local; Action: Null Component: IISCOMP.DefaultSecurityWebSite; Installed: Absent; Request: Local; Action: Null ... Action 11:11:56: ConfigureIIsExec. ConfigureIIsExec: Skipping ScaWebSvcExtRead() because IIsWebServiceExtension data not present ConfigureIIsExec: Skipping ScaMimeMapRead() - required table not present ConfigureIIsExec: Skipping ScaHttpHeaderRead() - required tables not present. ConfigureIIsExec: Skipping ScaWebErrorRead() - required tables not present. ConfigureIIsExec: A matching web object in memory was found, but the web object in memory has no associated base ConfigureIIsExec: Error 0x80070002: Failed to find Web base ConfigureIIsExec: Error 0x80070002: Failed to get base of web for WebDir ConfigureIIsExec: Error 0x80070002: failed to read IIsWebDir table Error 26003. Failed to read IIsWebDirs table. (-2147024894 ) Failed because WebDir with Id='IIS.UnsecureWebDirOfWebSite' is referenced to WebSite='IIS.WinIntegratedSecurityWebSite' that's not installed but this WebDir and WebSite is in one component that should not be installed IISCOMP.WinIntegratedSecurityWebSite; Installed: Absent; Request: Local; Action: Null sorry for my english sorry for long post ------------------------------------------------------------------------------ Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users