1
votes

I have wix bootstapper which includes 4 components: tree exe packages and one msi package. I want to do major update of msi package using bootstrapper below (only main code):

<Bundle Name="$(var.Name)" Version="$(var.Version)" Manufacturer="$(var.Manufacture)" UpgradeCode="$(var.UpgradCode)" Copyright="$(var.Copyright)">
....
<Chain>
      <!-- TODO: Define the list of chained packages. -->
      <PackageGroupRef Id="NetFx4Full"/>
      <PackageGroupRef Id="PostgreSQL"/>
      <PackageGroupRef Id="AdobeReader"/>
      <PackageGroupRef Id="Application"/>
</Chain>
....
<PackageGroup Id="Application">
  <MsiPackage Id="MyApplication"
              SourceFile=".\MSI_File\application.msi"
              DisplayInternalUI="yes"
              Permanent="no"
              Vital="yes"
              Visible="no"/>
others packages...
</PackageGroup>

and msi code:

<Product Id="*"
    Name="$(var.Name)"
    Language="$(var.InstallerLanguage)"
    Version="$(var.Version)"
    UpgradeCode="$(var.UpgradeCode)"
    Manufacturer="$(var.Manufacture)">

<Package Description="$(var.PackageDescritpion)"
        InstallerVersion="200"
        Compressed="yes"
        InstallScope="perMachine"
        InstallPrivileges="elevated"
        Platform="x64"/>

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


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

<Feature Id="Complete"
             Level="1"
             ConfigurableDirectory="INSTALLDIR">
  <ComponentRef Id="Licence"/>
  <ComponentRef Id="StartMenuFoldersComponent"/>
  <ComponentRef Id="DatabaseConfigFolder"/>
  <ComponentGroupRef Id="BinaryFileGroup"/>
  <ComponentGroupRef Id="DatabaseConfigFileGroup"/>
  <ComponentRef Id="ApplicationConfigFolder"/>
  <ComponentRef Id="RemoveFolderOnUninstall"/>
</Feature>

<!-- Custom actions-->
.....

<InstallExecuteSequence>
  <RemoveExistingProducts After="InstallValidate"/>
  <!--Other custom actions-->
  ......
</InstallExecuteSequence>

To build my update msi and bootstrapp I set greater (the same for msi and bootstrapp) product version, for example old version has 1.0.0.0 and newer has 1.0.1.0. Upgrade code as a WIX documentation says remains unchanged. After run my update installer the new version of msi is not installig, in install directory still are old files. Does anyone know what I do wrong?

@Edit Also I tried by adding MajorUpgrade element but after that bootstrapper doesn't start MSI:

<Media Id="1" Cabinet="contents.cab" EmbedCab="yes" CompressionLevel="high"/>
<MajorUpgrade  Schedule="afterInstallInitialize" DowngradeErrorMessage="A later version of     [ProductName] is already installed. Setup will now exit."/>
<Directory Id="TARGETDIR" Name="SourceDir"/>

@Edit Bootstrapper logs: http://wklej.to/Msczq

1

1 Answers

2
votes