Hi All,

I've got a problem with the evaluation of transitive components. We need to
install services as being automatic or manual depending on another
installation, we've got a property called STANDBY if the other product is
installed. 

To get a situation where the service is installed auto or manual depending
on the property, we create two components with the same file and service but
with different serviceinstall and servicecontrol elements. I set the
transitive bit for those components to true. Now when we do a new install,
we get the right service installation. But when we do a minor upgrade, it
doesn't reevaluate the condition of the components, even though they are
transitive. The code looks like the following:

<Component Id="Service.exe" Guid="AC9DCC75-1977-4027-9653-CEE210CFE33E"
Directory="RECORDERFOLDER" Win64="no" Transitive="yes">
                        <Condition>NOT STANDBY</Condition>
                        <File 
Source="$(sys.SOURCEFILEDIR)..\..\bin\Service.exe" KeyPath="yes"/>
      <ServiceInstall Id="ServiceInstall"
                      Name="Service"
                      Start="auto"
                      ErrorControl="normal"
                      Type="ownProcess"
                      DisplayName=" Service"
                      Description="Service"
                      Vital="yes">
        <ServiceDependency Id="MySQL" Group="no"/>
      </ServiceInstall>
      <ServiceControl Id="Service.start"
                      Name="Service"
                      Start="install"
                      Stop="uninstall"
                      Remove="uninstall"
                      Wait="yes"/>
    </Component>

                <Component Id="Service.exe.manual"
Guid="8744B1D5-07FD-4805-9F24-EA7F9FF3CC19" Directory="RECORDERFOLDER"
Win64="no" Transitive="yes">
                        <Condition>STANDBY</Condition>
                        <File Id="Service.exe.manual"
Source="$(sys.SOURCEFILEDIR)..\..\bin\Service.exe" KeyPath="yes"/>
                        <ServiceInstall Id="ServiceInstall.manual"
                      Name="Service"
                      Start="demand"
                      ErrorControl="normal"
                      Type="ownProcess"
                      DisplayName="Service"
                      Description="Service"
                      Vital="yes">
                                <ServiceDependency Id="MySQL" Group="no"/>
                        </ServiceInstall>
                        <ServiceControl Id="Service.stop"
                      Name="CybertechArchiveService"
                      Stop="both"
                      Remove="uninstall"
                      Wait="no"/>
                </Component>

We use the properties REINSTALLMODE="vmos" REINSTALL=ALL for the minor
upgrade.

Is there a better way to conditionally install the services with other
settings? Or is there an easier way to do this?

Regards,
Jeffrey Bindinga
-- 
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Transitive-not-evaluated-tp5808253p5808253.html
Sent from the wix-users mailing list archive at Nabble.com.

------------------------------------------------------------------------------
What happens now with your Lotus Notes apps - do you make another costly 
upgrade, or settle for being marooned without product support? Time to move
off Lotus Notes and onto the cloud with Force.com, apps are easier to build,
use, and manage than apps on traditional platforms. Sign up for the Lotus 
Notes Migration Kit to learn more. http://p.sf.net/sfu/salesforce-d2d
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to