In WiX how can I select an IIS website by name?

前端 未结 5 1874
傲寒
傲寒 2021-01-31 22:31

What I would like to do is show the installer user a list of the websites on their server and allow them to choose one (using the method described here: http://www.cmcrossroads.

5条回答
  •  耶瑟儿~
    2021-01-31 23:01

    OK it is possible (in IIS6 or IIS7 with Metabase compatibility), thanks to this post to the mailing list explaining the slightly bizarre way the iis:Website element works. The useful part is:

    Using a fragment like this and test with v3.0.5120.0:*
    
      
        
      
    
    The following work:
    
    1. If WebSite/@SiteId="*" then a case sensitive match on WebSite/@Description happens.
    2. If WebSite/@SiteId matches the site id than WebSite/@Description is ignored and a match on site id happens.
    3. If WebSite/@SiteId has any value WebAddress/@Port is ignored (although the syntax requires it and it can't be 0).
    4. If WebSite/@SiteId is missing WebAddress/@Port is used and WebSite/@Description is ignored.
    5. Once a website is created and gets site id, you can rename it (therefore its site id is not the hash of its name), the WebSite/@SiteId="*" syntax will match on the WebSite/@Description.
    

    So my WiX code ends up looking like:

    
      
        
          
        
        
      
    
    
    
    
      
    
    

    The iis:WebAddress element should never be used but is necessary for the project to compile.

提交回复
热议问题