You should set SKIPCONFIGUREIIS property to 1 in order to skip IIS 
configuration steps. Thus, when your "IIS-related" feature is not selected by 
user, set the SKIPCONFIGUREIIS property to 1. This will ignore any IIS-related 
elements in your code.
 
Hope this helps.
 
-- Yan

________________________________

From: Chad Petersen [mailto:chad.peter...@harlandfs.com]
Sent: Tue 9/29/2009 20:09
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Installing without IIS in spite of 
optionalwebapplication component



I ran into the same issue with our installer. If you include an IIS
element in the installer it always seems to want to configure it.

They way I got around it was to write a VBS script that cracks open the
MSI database after it is built and modifies the "ConfigureIIS" action to
be Conditioned to only happen when the WebRole feature is installed.

Works like a charm and has for several years now (same thing happened in
WiX 2.0 as well). I call it "ModifyExecuteSequence.vbs and it is called
from the overall build script so I don't run it manually each time.

Here's the code I use

Option Explicit

' Set up the initial variables, which dictate what action to change, and
which column to change
Dim strColumn, strNewValue, strAction
strAction = "ConfigureIIs"
strColumn = "Condition"
strNewValue = "(&WebRole=3) OR (&WebRole=2)"

' Create the Windows Installer object
Dim objInstaller
Set objInstaller = WScript.CreateObject("WindowsInstaller.Installer")

' Create the Database object from the filename passed in as our
parameter
Dim strPackagePath, objDatabase
strPackagePath = WScript.Arguments(0)
Set objDatabase = objInstaller.OpenDatabase(strPackagePath, 1)

' Setup the query that will access the database
Dim strQuery
strQuery = "SELECT " & strColumn & " FROM InstallExecuteSequence WHERE
Action='" & strAction & "'"

WScript.Echo strQuery

' open up a view to the database, and execute the query
Dim objView
Set objView = objDatabase.OpenView(strQuery)
objView.Execute

' we're assuming that the database only returns one row, and that's the
row we need
Dim objRecord
Set objRecord = objView.Fetch

' make sure that something was returned from the database
If Not (objRecord Is Nothing) Then

   Dim strCell
   strCell = objRecord.StringData(1)

   WScript.Echo("Existing cell: " & strCell)
   WScript.Echo("New value: " & strNewValue)
  
   ' modify the cell
   objRecord.StringData(1) = strNewValue
   objView.Modify 2, objRecord
  
Else

   WScript.Echo("Nothing found!")

End If

' close the view and commit the change to the database
objView.Close
objDatabase.Commit



-----Original Message-----
From: Benjamin Podszun [mailto:benjamin.pods...@gmail.com]
Sent: Tuesday, September 29, 2009 8:53 AM
To: WiX-users@lists.sourceforge.net
Subject: [WiX-users] Installing without IIS in spite of optional
webapplication component

Hi there.

I'm trying to create an installer that is divided into 3 features:
"Framework", "Client", "Server". The first one is mandatory (and
invisible)
the latter two can be combined or not according to the users choice.
"Server" contains a web application among others, like this:

<iis:WebSite Id='SomeWebSite' Description='A nice description'
Directory='INSTALLLOCATION'>
    <iis:WebAddress Id="AllUnassigned" Port="80" />
    <iis:WebVirtualDir Id="SomeWebApp" Alias="SomethingHere"
Directory="INSTALLLOCATION">
        <iis:WebApplication Id="SomeWebApp" Name="SomeName" />
        <iis:WebDirProperties Id="SomeDirProps"
DefaultDocuments="Some.asmx"
/>
    </iis:WebVirtualDir>
</iis:WebSite>

This is wrapped in a component, which is is componentref'd by the
"Server"
feature.

If I try to install on a machine without IIS and deselect everything but
"Client" my installation dies with a fatal error. The progress dialog is
at
"Starting IIS Metabase Transaction" and a message box shows "Cannot
connect
to the Internet Information Server. (-2147221164       <lotsofspaces>)".

Any help or pointers how to solve this would be appreciated.

Thanks in advance,
Ben
------------------------------------------------------------------------
------
Come build with us! The BlackBerry&reg; 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&#45;12, 2009. Register
now&#33;
http://p.sf.net/sfu/devconf
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



------------------------------------------------------------------------------
Come build with us! The BlackBerry&reg; 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&#45;12, 2009. Register now&#33;
http://p.sf.net/sfu/devconf
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


------------------------------------------------------------------------------
Come build with us! The BlackBerry&reg; 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&#45;12, 2009. Register now&#33;
http://p.sf.net/sfu/devconf
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to