You are correct; "Default Web Site" is handled specially, and if you always want Site Id 0, that is what you should use.
However, the effect of SiteId="*" is not exactly as advertised in the documentation. candle and light generate a -1 in the Id field of the IIsWebSite record within the MSI if the SiteId is "*". This causes ConfigureIIsExec to use the following search criteria when looking for the site in the metabase: mrCompare.dwMDIdentifier = MD_SERVER_COMMENT; mrCompare.dwMDAttributes = METADATA_INHERIT; mrCompare.dwMDUserType = IIS_MD_UT_SERVER; mrCompare.dwMDDataType = ALL_METADATA; mrCompare.dwMDDataLen = 0; mrCompare.pbMDData = NULL; where mrCompare is a METADATA_RECORD structure that gets passed to MetaGetValue in order to get the data with with which to compare the IIsWebSite record. The Id of -1 also causes the comparison of mrCompare.pbMDData to take place as a case sensitive Unicode comparison against the Description field. So, a hash of the description is not actually being used. Thanks, Thomas S. Trias Senior Developer Artizan Internet Services http://www.artizan.com/ -------- Original Message -------- Subject: Re: [WiX-users] is it a bug that iis:WebSite doesn't locate presence of existing website using just the Name attribute value versus port settings? From: Robert O'Brien <robert.obr...@microsoft.com> To: 'General discussion for Windows Installer XML toolset.' <wix-users@lists.sourceforge.net>, 'tomtr...@artizan.com' <tomtr...@artizan.com>, Kiran Challa <kicha...@microsoft.com> Cc: Dmitry Frenkel <dmitry.fren...@microsoft.com> Date: 4/8/2009 6:31 PM > + in case of a properties.wix declaration of a "Default Web Site" so that we > have a way to do things against that well known iis7x site if/when we need to > I'm guessing that we must use SiteId="0" in that case, vs SiteId="*", so that > we always find use the site with name "Default Web Site" known to be site 0 > regardless of what port and/or host header and/or ip bindings an operator has > created on it for a given environment, e.g. > > <iis:WebSite IdÞfaultWebSite" Description="Default Web Site"><iis:WebAddress > Id="http" Port="80" /></iis:WebSite> > > becomes just the following without the iis:WebAddress specifics? > > <iis:WebSite IdÞfaultWebSite" SiteId="0" Description="Default Web > Site"></iis:WebSite> > > -----Original Message----- > From: Robert O'Brien [mailto:robert.obr...@microsoft.com] > Sent: Wednesday, April 08, 2009 4:19 PM > To: 'tomtr...@artizan.com'; 'General discussion for Windows Installer XML > toolset.'; Kiran Challa > Cc: Dmitry Frenkel > Subject: Re: [WiX-users] is it a bug that iis:WebSite doesn't locate presence > of existing website using just the Name attribute value versus port settings? > > Thanks this helps. Currently Kiran is testing this out to see if it provides > the iis:WebSite behavior outlined below that we are looking for. > > Is there an current lkg build newer than the public wix 3 beta1 release 4805 > that folks can switch to in order to ensure they have all the latest and > greatest fixes that have gone in since 4805 but still be on a known to be > good install? > > > -----Original Message----- > From: Thomas S. Trias [mailto:tomtr...@artizan.com] > Sent: Wednesday, April 08, 2009 11:20 AM > To: General discussion for Windows Installer XML toolset. > Cc: Dmitry Frenkel > Subject: Re: [WiX-users] is it a bug that iis:WebSite doesn't locate presence > of existing website using just the Name attribute value versus port settings? > > Robert, > > Add SiteId=" as an attribute to iis:WebSite. > > SiteId String Optional attribute to directly specify the site id of > the WebSite. Use this to ensure all web sites in a web garden get the > same site id. If a number is provided, the site id must be unique on all > target machines. If "*" is used, the Description attribute will be > hashed to create a unique value for the site id. This value must be a > positive number or a "*" or a formatted value that resolves to "-1" (for > the same behavior as "*") or a positive number or blank. If this > attribute is absent then the web site will be located using the > WebAddress element associated with the web site. > > > Thanks, > > Thomas S. Trias > Senior Developer > Artizan Internet Services > http://www.artizan.com/ > > > -------- Original Message -------- > Subject: [WiX-users] is it a bug that iis:WebSite doesn't locate > presence of existing website using just the Name attribute value > versus port settings? > From: Robert O'Brien <robert.obr...@microsoft.com> > To: 'wix-users@lists.sourceforge.net' <wix-users@lists.sourceforge.net> > Cc: Dmitry Frenkel <dmitry.fren...@microsoft.com> > Date: 4/7/2009 7:14 PM > >> We have a service deliverable msi where optionally have some w08/iis70 >> "Default Web Site" vdir settings we want to apply and some "Site1 Web Site" >> and "Site2 Web Site" settings we want to apply (see relevant excerpt below). >> We need to allow for deployments where "Site1 Web Site" and "Site2 Web >> Site" already exist as a result of OPS having set them up in advance. This >> is to enable scenarios where all web sites are advertised on tcp/80 and >> tcp/443 and OPS uses environment specific IP or host header name settings to >> differentiate incoming requests. In our installer we won't know what >> those environment specific IP or host header name settings are. >> >> What we are finding is that the iis:WebSite extension uses iis:WebAddress >> port settings to determine if the site is already present. So in cases >> where all three iis:WebSite details in our code of iis:WebAddress portEUR >> defined, and no other unique setting such as ip or host header, they always >> end up latching onto and modifying the "Default Web Site". >> >> q1 - is this expected behavior for the iis:WebSite extension? >> q2 - if this is expected behavior is there some way to work around this so >> that we can get it looking for an existing install of the iis:WebSite using >> just the Name attribute value instead? >> q3 - if this is expected behavior is this something that has not previously >> had a bug filed against it to get fixed in some post wix3 official beta >> 3.0.4805.0 release since having iis:WebSite look for existing install of the >> site using just the Name attribute value presents a much more powerful story >> in terms of service deliverable msi's where you have to be able to install >> against cases where the only unique website thing you can know, want to have >> to know, at development time is the Name. >> >> <iis:WebAppPool IdïaultAppPool" Name="DefaultAppPool" /> >> <iis:WebSite IdïaultWebSite" Description="Default Web Site"> >> <iis:WebAddress Id=p" Port="80" /> >> </iis:WebSite> >> >> <Component Id=e1AppPool" Guid="ACF34F1A-5778-4A98-8AF9-7CF38A81AF6F" >> KeyPath="yes" Permanent="yes"> >> <iis:WebAppPool Id=e1AppPool" Name="Site1AppPool" >> Identity="networkService" /> >> </Component> >> <Component Id=e1" Guid="35BD9B02-7833-4CCE-9BC6-D8B8B49E5347" >> Permanent="yes"> >> <File Id=talledSite1.txt" Name="InstalledSite1.txt" >> Source="Resources\InstalledComponent.txt" KeyPath="yes" /> >> <!-- TODO: copy Site1Dir files into place here --> >> <iis:WebSite Id=e1WebSite" Description="Site1 Web Site" >> Directory="Site1Dir"> >> <iis:WebApplication Id=e1App" Name="Site1 Application" >> WebAppPool="Site1AppPool" Isolation="medium" /> >> <iis:WebAddress Id=e1WebAddress" Port="80" /> >> <iis:WebAddress Id=e1WebAddressSsl" Port="443" Secure="yes" /> >> </iis:WebSite> >> </Component> >> >> <Component Id=e2AppPool" Guid="510AD484-C0E6-441D-9E07-8B583D2207CA" >> KeyPath="yes" Permanent="yes"> >> <iis:WebAppPool Id=e2AppPool" Name="Site2AppPool" >> Identity="networkService" /> >> </Component> >> <Component Id=e2" Guid="AFBE602C-550C-43DB-A36A-BCEC66569967" >> Permanent="yes"> >> <File Id=talledSite2.txt" Name="InstalledSite2.txt" >> Source="Resources\InstalledComponent.txt" KeyPath="yes" /> >> <!-- TODO: copy Site2Dir files into place here --> >> <iis:WebSite Id=e2WebSite" Description="Site2 Web Site" >> Directory="Site2Dir"> >> <iis:WebApplication Id=e2App" Name="Site2 Application" >> WebAppPool="Site2AppPool" Isolation="medium" /> >> <iis:WebAddress Id=e2WebAddress" Port="80" /> >> <iis:WebAddress Id=e2WebAddressSsl" Port="443" Secure="yes" /> >> </iis:WebSite> >> </Component> >> >> > ------------------------------------------------------------------------------ > This SF.net email is sponsored by: > High Quality Requirements in a Collaborative Environment. > Download a free trial of Rational Requirements Composer Now! > http://p.sf.net/sfu/www-ibm-com > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by: > High Quality Requirements in a Collaborative Environment. > Download a free trial of Rational Requirements Composer Now! > http://p.sf.net/sfu/www-ibm-com > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > ------------------------------------------------------------------------------ This SF.net email is sponsored by: High Quality Requirements in a Collaborative Environment. Download a free trial of Rational Requirements Composer Now! http://p.sf.net/sfu/www-ibm-com _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users