I'm releasing a version 1.0 MSI this week and need to support upgrades since
the next version should recognise the earlier installation, and retain one
of the files installed in this msi without overwriting it.

What changes would I need at the minimum in this version so that the future
upgrades are possible with the requirement of retaining the one file ? I'm
pasting my wxs file below for reference .. I need to retain the
clusterinfo.bin file in the future upgrade .. 

Help !! 

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi";>

  <Product Id="*" Name="SolidFire Hardware Provider" Language="1033"
Version="1.0.0.0" Manufacturer="SolidFire"
UpgradeCode="0c60967f-f184-4b8b-a96a-b1caa4a8879e">

    <Package InstallerVersion="405" Compressed="yes"
InstallScope="perMachine" />
    
    <Condition Message=  
     "You need to be an administrator to install this product.">
      Privileged
    </Condition>

    <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is
already installed." />
    <MediaTemplate EmbedCab='yes'/>
    <PropertyRef Id="NETFRAMEWORK45"/>
    <Condition Message ="This application installs only on Windows Server
2012 and Windows Server 2008 R2">
      
      
    </Condition>
               
    
    <Feature Id="ProductFeature" Title="InstallProvider" Level="1">
      <ComponentGroupRef Id="ProductComponents" />
    </Feature>
    <Feature Id="VCRedistcrt" Title="Visual C++ Runtime" AllowAdvertise="no"
Display="hidden" Level="1">
      <MergeRef Id="VCRedistcrt"/>
    </Feature>
    <Feature Id="VCRedist" Title="Visual C++ Runtime" AllowAdvertise="no"
Display="hidden" Level="1">
      <MergeRef Id="VCRedistatl"/>
    </Feature>
    <UI>
      
      <Publish Dialog="ExitDialog"
      Control="Finish"
      Event="DoAction"
      Value="LaunchApplication">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT
Installed</Publish>
    </UI>

    

    <Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER" ></Property>
    <Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Launch Config
Utility" />
    <Property Id="WixShellExecTarget" Value="[#configutility]" />
    
    <CustomAction Id="LaunchApplication" BinaryKey="WixCA"
DllEntry="WixShellExec" Impersonate="yes" />

    
    <UIRef Id="WixUI_InstallDir"/>

    <InstallExecuteSequence>
      <Custom Action="RunInstallScript" After="InstallFiles" >NOT
Installed</Custom>
    </InstallExecuteSequence>
    <InstallExecuteSequence>
      <Custom Action='BeforeUninstall' Before='InstallValidate'>Installed
AND (NOT REINSTALL)</Custom>
    </InstallExecuteSequence>
    <CustomAction Id="RunInstallScript" ExeCommand="cmd /c
install-solidfireprovider.cmd > install.log" Directory="INSTALLFOLDER"
Execute="deferred" Return="check"/>
    <CustomAction Id="BeforeUninstall" ExeCommand="cmd /c
uninstall-solidfireprovider.cmd > install.log" Directory="INSTALLFOLDER"
Execute="immediate" Return="check"/>
  </Product>


  <Fragment>
    <DirectoryRef Id="TARGETDIR">
      <Merge Id="VCRedistatl" SourceFile="$(env.CommonProgramFiles)\Merge
Modules\Microsoft_VC90_ATL_x86_x64.msm" DiskId="1" Language="0"/>
    </DirectoryRef>
  </Fragment>

  <Fragment>
    <DirectoryRef Id="TARGETDIR">
      <Merge Id="VCRedistcrt" SourceFile="$(env.CommonProgramFiles)\Merge
Modules\Microsoft_VC90_CRT_x86_x64.msm" DiskId="1" Language="0"/>
    </DirectoryRef>
  </Fragment>

  <Fragment>
    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFiles64Folder">
        <Directory Id="INSTALLFOLDER" Name="SolidFireVSS" />
      </Directory>
    </Directory>
  </Fragment>

  <Fragment>

    <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
      
      <Component Id="ProductComponent">
        
        <File Id="restinterfacedll.dll"
          Source="..\x64\$(var.build)\RESTInterfacelib.dll"></File>
      </Component>

      <Component Id="vssdll">
        <File Id="vsssolidfireprovider.dll"
          Source="..\x64\$(var.build)\vsssolidfireprovider.dll" ></File>

        
      </Component>

      <Component Id="installscript">
        <File Id="installscript"
          Source="install-solidfireprovider.cmd"></File>
      </Component>

      <Component Id="uninstallscript">
        <File Id="uninstallscript"
          Source="uninstall-solidfireprovider.cmd"></File>
      </Component>

      <Component Id="registerprovider">
        <File Id="registerprovider"
          Source="register_app.vbs"></File>
      </Component>


      <Component Id="vshadow">
        <File Id="vshadow"
          Source="vshadow.exe"></File>
      </Component>
      
      <Component Id="clusterinfo">
        <File Id="clusterinfo"
          Source="clusterinfo.bin"></File>
      </Component>

      <Component Id="installlog">
        <File Id="install.log"
          Source="install.log"></File>
      </Component>

      <Component Id="configutility">
        <File Id="configutility"
         
Source="..\configutility\bin\x64\Release\SolidFireConfigUtility.exe"></File>
      </Component>
    </ComponentGroup>
  </Fragment>


</Wix>



--
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Need-some-help-with-upgrade-support-in-first-version-of-MSI-tp7589170.html
Sent from the wix-users mailing list archive at Nabble.com.

------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to