Hi Craig. Thanks for the fast response! Actually I found your code/the nabble link below already before posting to this list, I just don't understand if that helps me. Probably I'm just too new or not able to express my problem in a good way:
I install on machines where a default site is present (and it contains some other web applications already). I am supposed to install a new web application for the default site(!). When my msi is removed I need to remove that application only. Not the web site (that's why I don't include it as component so far), since that's always the default site for me and must not be removed. I'm not sure if remembering something helps me: I never use a custom port, address or anything. Regards, Ben On Tue, Oct 13, 2009 at 5:41 PM, Scharp, Craig <craig.sch...@zytax.com>wrote: > Hi Ben, > > I have resolved all install/uninstall issues with websites in IIS with > the code below. By storing properties in registry and reading them > back, all works fine. > > I have included the port, description (name), hostheader value and IP > address as registry values. This allows me to have multiple websites on > same port or different ports if they use host header. Also, I can have > multiple sites and the default website and the correct site is > uninstalled without affecting default website. > > Thx to the following link for suggesting storing values in registry: > http://n2.nabble.com/Default-website-gets-removed-on-Uninstall-td731259 > > > Code in the wxs file is listed below: > > ---------------------------------------- > 1. Put all IIS: in components like this > ---------------------------------------- > > <Directory Id="TARGETDIR" Name="SourceDir"> > <Component Id="WebsiteIPComponent" Guid="{SOMEGUID}"> > <RegistryValue Id="WebsiteIP" Root="HKLM" > Key="Software\CompanyName\[ProductName]" Name="WebsiteIP" > Value="[WEBSITEIP]" Type="string"/> > </Component> > <Component Id="WebsitePortComponent" Guid="{SOMEGUID}"> > <RegistryValue Id="WebsitePortNbr" Root="HKLM" > Key="Software\CompanyName\[ProductName]" Name="WebsitePortNbr" > Value="[WEBSITEPORT]" Type="string"/> > </Component> > <Component Id="WebsiteDescComponent" Guid="{SOMEGUID}"> > <RegistryValue Id ="WebsiteDescription" Root="HKLM" > Key="Software\CompanyName\[ProductName]" Name="WebsiteDescription" > Value="[WEBSITEDESCRIPTION]" Type="string"/> > </Component> > <Component Id="WebsiteHostHeaderComponent" Guid="{SOMEGUID}"> > <RegistryValue Id = "WebsiteHostHeader" Root="HKLM" > Key="Software\CompanyName\[ProductName]" Name="WebsiteHostHeader" > Value="[WEBSITEHOSTHEADER]" Type="string"/> > </Component> > <Component Id="NewWebsiteConfigASP" Guid="{SOMEGUID}"> > <iis:WebSite Id="IISWebsite" Description="[WEBSITEDESCRIPTION]" > Directory="TARGETDIR" AutoStart="yes" ConfigureIfExists="yes" > StartOnInstall="yes"> > <iis:WebAddress Id="IISWebAddress" Port="[WEBSITEPORT]" > IP="[WEBSITEIP]" Header="[WEBSITEHOSTHEADER]" /> > <iis:WebDirProperties Id="IISWebDirProperties" Execute="yes" > Read="yes" > DefaultDocuments="default.aspx,index.aspx,index.htm,index.html,default.h > tm,default.html" /> > <iis:WebDir Id="IISAppDataWebDir" Path="App_Data"> > <iis:WebDirProperties Id="IISAppDataWebDirProperties" > Write="yes" Read="yes" > DefaultDocuments="default.aspx,index.aspx,index.htm,index.html,default.h > tm,default.html" /> > </iis:WebDir> > <iis:WebApplication Id="WebApplication" > Name="[WEBAPPLICATIONNAME]" WebAppPool="WebAppPool"> > </iis:WebApplication> > </iis:WebSite> > <iis:WebAppPool Id="WebAppPool" Name="[WEBAPPLICATIONPOOLNAME]" > Identity="networkService" /> > <Condition>TARGETMODE = "NewWebsite" AND SCRIPTLANGUAGE = > "ASP"</Condition> > </Component> > <Component Id="ExistingWebsiteConfigASP" Guid="{SOMEGUID}"> > <iis:WebSite Id="IISWebsiteExisting" > Description="[WEBSITEDESCRIPTION]" ConfigureIfExists="no" > Directory="TARGETDIR"> > <iis:WebAddress Id="IISWebAddressExisting" > Port="[WEBSITEPORT]" IP="[WEBSITEIP]" Header="[WEBSITEHOSTHEADER]" /> > <iis:WebVirtualDir Id="WebVirtualDirectory" > Alias="[VIRTUALDIRECTORYNAME]" Directory="TARGETDIR"> > <iis:WebDirProperties > Id="IISWebVirtualDirPropertiesExisting" Execute="yes" Read="yes" > DefaultDocuments="default.aspx,index.aspx,index.htm,index.html,default.h > tm,default.html" /> > <iis:WebApplication Id="WebApplicationExisting" > Name="[WEBAPPLICATIONNAME]" WebAppPool="WebAppPoolExisting"> > </iis:WebApplication> > </iis:WebVirtualDir> > </iis:WebSite> > <Condition>TARGETMODE = "ExistingWebsite" AND SCRIPTLANGUAGE = > "ASP"</Condition> > <iis:WebAppPool Id="WebAppPoolExisting" > Name="[WEBAPPLICATIONPOOLNAME]" Identity="networkService" /> > </Component> > . > . > . > </Directory> > > ---------------------------------------- > 2. Add componentref's in your feature like this: > ---------------------------------------- > > <Feature Id="WebsiteFeature" Title="Website > Installation" Description="This feature will install the website > component" Level="1" Display="expand"> > . > . > . > <ComponentRef Id="WebsiteIPComponent" /> > <ComponentRef Id="WebsitePortComponent" /> > <ComponentRef Id="WebsiteDescComponent" /> > <ComponentRef Id="WebsiteHostHeaderComponent" /> > . > . > . > </Feature> > > ---------------------------------------------------------- > 3. Add properties and get values from registry like this: > ---------------------------------------------------------- > > <Property Id="WEBSITEIP"> > <RegistrySearch Id="WebsiteIP" Root="HKLM" Type="raw" > Name="WebsiteIP" Key="Software\CompanyName\[ProductName]"/> > </Property> > <Property Id="WEBSITEPORT"> > <RegistrySearch Id="WebsitePortNbr" Root="HKLM" > Type="raw" Name="WebsitePortNbr" > Key="Software\CompanyName\[ProductName]"/> > </Property> > <Property Id="WEBSITEDESCRIPTION"> > <RegistrySearch Id="WebsiteDescription" Root="HKLM" > Type="raw" Name="WebsiteDescription" > Key="Software\CompanyName\[ProductName]"/> > </Property> > <Property Id="WEBSITEHOSTHEADER"> > <RegistrySearch Id="WebsiteHostHeader" Root="HKLM" > Type="raw" Name="WebsiteHostHeader" > Key="Software\CompanyName\[ProductName]"/> > </Property> > > Hope this helps. > > Thx, Craig > > > -----Original Message----- > From: Benjamin Podszun [mailto:benjamin.pods...@gmail.com] > Sent: Tuesday, October 13, 2009 10:05 AM > To: wix-users@lists.sourceforge.net > Subject: [WiX-users] Removing WebVirtualDir / WebApplication on > uninstallonly > > Hi. > > I can successfully deploy an application that includes a web application > among others (thanks to this list) like this: > > <!-- Inside a component --> > <iis:WebVirtualDir Id="SomeWebApp" Alias="SomeAlias" > Directory="INSTALLLOCATION" WebSite="DefaultWebSite"> > <iis:WebApplication Id="SomeWebApp" Name="SomeName" /> > <iis:WebDirProperties Id="SomeDirProps" DefaultDocuments="Some.asmx" > /> > </iis:WebVirtualDir> > <!-- Component ends around here --> > > <!-- Website reference - not in a component --> > <iis:WebSite Id='DefaultWebSite' Description='Default Web Site' > Directory='INSTALLLOCATION'> > <iis:WebAddress Id="AllUnassigned" Port="80" /> > </iis:WebSite> > > This works fine, but leaves the web application in place (and a > uninstall/reinstall cycle fails, because the web application "SomeName" > exists already..). I understand that I could move the WebSite > declaration > into a component, but according to my understanding so far that would > remove > the default website in my case (which is shared). > > Is there any workaround for that? Am I supposed (forced?) to create a > website in my component for uninstall support? > > Thanks a lot in advance, > Ben > ------------------------------------------------------------------------ > ------ > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and > stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users