The MajorUpgrade tag is probably the easiest way to support upgrades.

-----Original Message-----
From: nkshirsagar [mailto:nkshirsa...@gmail.com] 
Sent: September 24, 2013 08:34
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Need some help with upgrade support in first version of MSI

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


------------------------------------------------------------------------------
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