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

Reply via email to