Does anyone have a comment on this? Is there are reason why the
condition doesn't work with the msi is run in silent mode? Is this true
for all conditions?

 

Thanks

 

Neil

 

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Neil
Sleightholm
Sent: 05 February 2008 18:57
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Upgrade code failing for silent installs

 

After a bit of googling I think I have found the answer, the condition
doesn't work in silent mode. To make it work I needed these elements:

 

    <CustomAction Id="NewerVersion" Error="A later version of
[ProductName] is already installed." />

 

    <InstallExecuteSequence>

      <Custom Action="NewerVersion"
After="FindRelatedProducts">NEWERVERSIONDETECTED</Custom>

    </InstallExecuteSequence>

 

Neil

 

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Neil
Sleightholm
Sent: 05 February 2008 17:55
To: Wilson, Phil; wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Upgrade code failing for silent installs

 

It sounds like I have done something wrong in my script, I have pared
this down to a minimal install (see below) to reproduce the problem. I
don't think it is ALLUSERS as I can see this set in the logs, I don't
have a FindRelatedProducts - should I? Can you see what I might be
missing?

 

Thanks for your help, 

 

Neil

 

P.S. This is WiX v2 but I have the same problem with WiX v3.

 

 

<?xml version="1.0" encoding="UTF-8"?>

<?define Version = "1.0.0" ?> 

<Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi";>

  <Product 

    Id="????????-????-????-????-????????????" 

    Name="Simple WiX template $(var.Version)" Language="1033" 

    Version="$(var.Version)" 

    Manufacturer="Me" 

    UpgradeCode="10B99CC9-5D83-4489-82F3-368E772B803D">

    <Package 

      Id="????????-????-????-????-????????????" 

      Description="Simple WiX template Installation" 

      InstallerVersion="200" 

      Compressed="yes" />

 

    <!-- Support Information shown in Add/Remove programs (this is
optional) -->

    <Property Id="ARPCOMMENTS"><![CDATA[Simple WiX
template]]></Property>

    <Property Id="ARPCONTACT"><![CDATA[WiX]]></Property>

 

    <!-- Default ALLUSERS to 1 -->

    <Property Id="ALLUSERS"><![CDATA[1]]></Property>

 

    <Condition Message="You need to be an administrator to install this
product.">Privileged</Condition>

    <Condition Message="A later version of [ProductName] is already
installed.">NOT NEWERVERSIONDETECTED</Condition>

 

    <Directory Id="TARGETDIR" Name="SourceDir">

      <Directory Id="INSTALLDIR" />

    </Directory>

 

    <Feature Id="DefaultFeature" Level="1"
ConfigurableDirectory="TARGETDIR">

      <ComponentRef Id="Test.dll" />

    </Feature>

 

    <Upgrade Id="10B99CC9-5D83-4489-82F3-368E772B803D">

      <UpgradeVersion Minimum="$(var.Version)" OnlyDetect="yes"
Property="NEWERVERSIONDETECTED" />

      <UpgradeVersion 

        Minimum="0.0.0" 

        Maximum="$(var.Version)" 

        IncludeMinimum="yes" 

        IncludeMaximum="no" 

        Property="OLDERVERSIONBEINGUPGRADED" />

      <Property Id="OLDERVERSIONBEINGUPGRADED" Secure="yes" />

    </Upgrade>

 

    <Media Id="1" Cabinet="contents.cab" EmbedCab="yes" />

 

    <UIRef Id="WixUI_ErrorProgressText" />

 

    <InstallExecuteSequence>

      <RemoveExistingProducts After="InstallFinalize" />

    </InstallExecuteSequence>

 

  </Product>

</Wix>

 

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Wilson,
Phil
Sent: 05 February 2008 17:41
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Upgrade code failing for silent installs

 

Maybe the silent install is bypassing the UI where you set the ALLUSERS
property to per-system. So you're ending up with the default, a per-user
install, and that goes on side by side with the per-system one.
Something like that anyway.  Another thing that might be happening is
that you don't have the FindRelatedProducts action in both the UI and
execute sequences. 

 

Phil Wilson 

 

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Neil
Sleightholm
Sent: Tuesday, February 05, 2008 3:59 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Upgrade code failing for silent installs

 

This is not strictly a WiX problem but I thought someone here may know
the answer.

 

If I build v1.1.0 of an MSI with a unique ProductCode and PackageCode
and then build v1.2.0 with a new ProductCode and PackageCode. Both
packages contain the same UpgradeCode and the following upgrade element:

    <Upgrade Id="10B99CC9-5D83-4489-82F3-368E772B803D">

      <UpgradeVersion Minimum="$(var.Version)" OnlyDetect="yes"
Property="NEWERVERSIONDETECTED" />

      <UpgradeVersion 

        Minimum="0.0.0" 

        Maximum="$(var.Version)" 

        IncludeMinimum="yes" 

        IncludeMaximum="no" 

        Property="OLDERVERSIONBEINGUPGRADED" />

      <Property Id="OLDERVERSIONBEINGUPGRADED" Secure="yes" />

    </Upgrade>

 

If I install v1.1.0 and then v1.2.0 everything is fine and the package
upgrades. If I then run v1.1.0 I see the message that a newer version is
installed. Now for the problem, if I install v1.1.0 silently (using
/passive or /qb) v1.1.0 is installed so I end up with both versions
displayed in Add/Remove programs.

 

Is this something I am doing wrong or am I misunderstanding how MSIs
work?

 

Thanks

 

Neil

 

Neil Sleightholm
X2 Systems Limited
[EMAIL PROTECTED]

 

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to