<?xml version="1.0" encoding="utf-8"?>
<UPDATEARRAY>
  <!-- The self update should remain at the top unless there is a good reason to do so otherwise -->
  <UPDATE>
    <PRECONDITIONARRAY>
      <PRECONDITION Name="[SELF_UPDATE_ALLOWED]" Type="STR" Compare="EQ"><![CDATA[TRUE]]></PRECONDITION>
      <PRECONDITION Name="[FVER:[.]saBSI.exe]" Type="VER" Compare="LT"><![CDATA[4.1.1.865]]></PRECONDITION>
    </PRECONDITIONARRAY>
    <UPDATECOMMANDS>
      <REDIRECT Location="https://sadownload.mcafee.com/products/SA/BSI/Win/binary/4.1.0/update_bsi_self.xml"/>
      <EXIT ReturnCode="[?]"/>
    </UPDATECOMMANDS>
  </UPDATE>
  
  <!-- This is also part of the self update mecanism and should be the 2nd entry at the top unless there is a good reason to do otherwise -->
  <UPDATE>
    <PRECONDITIONARRAY>
      <PRECONDITION Name="[FVER:[.]saBSI.exe]" Type="VER" Compare="GE"><![CDATA[4.1.0.48]]></PRECONDITION>
      <PRECONDITION Name="[saBsiVersion]" Type="STR" Compare="NEQ"><![CDATA[!UNKNOWN]]></PRECONDITION>
    </PRECONDITIONARRAY>
    <UPDATECOMMANDS>
      <SET_CD Name="cd19" FullName="Install_ID" Value="[InstallID]" />
      <SET_CD Name="cd20" FullName="Affid" Value="[affid]"/>
      <SET_CD Name="cd22" FullName="Distribution_SubID" Value="[subID]" />
      <SET_CD Name="cd23" FullName="Ironsource_Pixel" Value="[Pixel]" />
      <SET_CD Name="cd24" FullName="Country_Code" Value="[CountryCode]" />
      <!-- when ec=BsiSelfUpdate then ea=InstallID el=OldBsiVersion and r1=NewBsiVersion -->
      <SEND_EVENT Name="BsiSelfUpdate" ec="BsiSelfUpdate" ea="[InstallID]" el="[saBsiVersion]" r1="[FVER:[.]saBSI.exe]" r2="[CountryCode]"/>
    </UPDATECOMMANDS>
  </UPDATE>
  
  <!-- Populate required variables by redirecting to bsi_vars.xml -->
  <UPDATE>
    <PRECONDITIONARRAY/>
    <UPDATECOMMANDS>
      <REDIRECT Location="https://sadownload.mcafee.com/products/SA/BSI/bsi_vars.xml"/>
    </UPDATECOMMANDS>
  </UPDATE>
  
  <UPDATE>
    <PRECONDITIONARRAY>
    </PRECONDITIONARRAY>
    <UPDATECOMMANDS>
      <SETVAR Key="PaidOrPartnerDistribution" Value="false"/>  
      <SETVAR Key="PaidDistributionParam" Value=""/>     
      <SETVAR Key="PartnerDistributionParam" Value=""/>
    </UPDATECOMMANDS>
  </UPDATE>  

  <UPDATE>
    <PRECONDITIONARRAY>
    </PRECONDITIONARRAY>
    <UPDATECOMMANDS>
      <SETVAR Key="InputParam_PaidDistribution" Value="[PaidDistribution]"/>
    </UPDATECOMMANDS>
  </UPDATE>
  
  <!-- paid distribution list determined from affid. -->
  <UPDATE>
    <PRECONDITIONARRAY>
      <PRECONDITION Name="[affid]" Type="STR" Compare="RE"> <![CDATA[^(91078|91082|91088|91105|91125|91126|91151|91152|91153|91154|91155|91166|91191|91192|91193|91194|91195|91198|91199|91211|91212|91213|91214|91215|91216|91217|91218|91254|91255|91256|91263)$]]>
      </PRECONDITION>
    </PRECONDITIONARRAY>
    <UPDATECOMMANDS>
      <!-- We explicitely set PaidDistribution to true in this case -->
      <SETVAR Key="PaidDistribution" Value="true"/>
    </UPDATECOMMANDS>
  </UPDATE>
  
  <UPDATE>
    <PRECONDITIONARRAY>
      <PRECONDITION Name="[PaidDistribution]" Type="STR" Compare="EQ"><![CDATA[true]]></PRECONDITION>
    </PRECONDITIONARRAY>
    <UPDATECOMMANDS>
      <SETVAR Key="PaidOrPartnerDistribution" Value="true"/>
    </UPDATECOMMANDS>
  </UPDATE>
  
  <UPDATE>
    <PRECONDITIONARRAY>
      <PRECONDITION Name="[PartnerDistribution]" Type="STR" Compare="EQ"><![CDATA[true]]></PRECONDITION>
    </PRECONDITIONARRAY>
    <UPDATECOMMANDS>
      <SETVAR Key="PaidOrPartnerDistribution" Value="true"/>
    </UPDATECOMMANDS>
  </UPDATE>

  <!-- Setting to enable PPS mode -->
  <UPDATE>
    <PRECONDITIONARRAY>
      <PRECONDITION Name="[affid]" Type="STR" Compare="RE"> <![CDATA[^91254$]]></PRECONDITION>
    </PRECONDITIONARRAY>
    <UPDATECOMMANDS>
      <SETREG64 Key="SOFTWARE\McAfee\WebAdvisor\Settings" Name="pps_mode" Type="STR" Value="SYSTEM,BOOL,TRUE"/>
    </UPDATECOMMANDS>
  </UPDATE>

  <!-- When calling sabsi.exe with the key DistributionChannelaffid and value as a number (ie 91000),
       will cause a redirect into the Paid distribution channel xml file.
       Note: Please don't forget to add any new affids to partner_custom_vars.xml as well. -->
  <UPDATE>
    <PRECONDITIONARRAY>
      <PRECONDITION Name="[PaidDistribution]" Type="STR" Compare="EQ"><![CDATA[true]]></PRECONDITION>
    </PRECONDITIONARRAY>
    <UPDATECOMMANDS>
      <SEND_EVENT Name="InputParameters" ec="InputParameters" ea="PaidDistribution=[InputParam_PaidDistribution]" el="Affid=[affid]" r2="[CountryCode]"/>
      <REDIRECT Location="https://sadownload.mcafee.com/products/SA/BSI/bsi_PaidDistribution.xml"/>
      <EXIT ReturnCode="[?]"/>
    </UPDATECOMMANDS>
  </UPDATE>
  
  <!-- Partner Distribution Channel will cause a redirect into the Partner distribution xml file.-->
  <UPDATE>
    <PRECONDITIONARRAY>
      <PRECONDITION Name="[PartnerDistribution]" Type="STR" Compare="EQ"><![CDATA[true]]></PRECONDITION>
    </PRECONDITIONARRAY>
    <UPDATECOMMANDS>
      <REDIRECT Location="https://sadownload.mcafee.com/products/SA/BSI/bsi_PartnerDistribution.xml"/>
      <EXIT ReturnCode="[?]"/>
    </UPDATECOMMANDS>
  </UPDATE>

  <!-- Apply fixes for WSS reinstall -->
  <UPDATE>
    <PRECONDITIONARRAY>
      <PRECONDITION Name="[WAInstalled]" Type="STR" Compare="EQ"><![CDATA[TRUE]]></PRECONDITION>
      <PRECONDITION Name="[REG64:SOFTWARE\McAfee\MSC\Settings\toc\A12341F7-A130-4447-97AD-2675F46516FB@LinkContext]" Type="STR" Compare="EQ"><![CDATA[!UNKNOWN]]></PRECONDITION>
      <PRECONDITION Name="[FILE_EXISTS:[UPDATER_EXE]]" Type="STR" Compare="EQ"><![CDATA[TRUE]]></PRECONDITION>
    </PRECONDITIONARRAY>
    <UPDATECOMMANDS>
      <EXECUTE_LOCAL Command="[UPDATER_EXE]" Param="/wait=60 /xml=v1/update/wss_reinstall.xml" DeleteFile="FALSE"/>
      <EXIT ReturnCode="0"/>
    </UPDATECOMMANDS>
  </UPDATE>

  <UPDATE>
    <PRECONDITIONARRAY/>
    <UPDATECOMMANDS>
      <SET_CD Name="cd20" FullName="Affid" Value="[affid]"/>
      <SET_CD Name="cd8" FullName="Install_Source" Value="FreshInstall"/>
      <SET_CD Name="cd9" FullName="Common_Build" Value="false"/>
    </UPDATECOMMANDS>
  </UPDATE>
  
  <UPDATE>
    <PRECONDITIONARRAY>
      <PRECONDITION Name="[REG32:HKLM|Software\McAfee\MSC\AppInfo\Substitute\QueryParams@CommonBuild]" Type="STR" Compare="EQ"><![CDATA[1]]></PRECONDITION>
    </PRECONDITIONARRAY>
    <UPDATECOMMANDS>
      <SET_CD Name="cd9" FullName="Common_Build" Value="true"/>
    </UPDATECOMMANDS>
  </UPDATE>

  <UPDATE>
    <PRECONDITIONARRAY>
      <PRECONDITION Name="[REG64:HKLM|Software\McAfee\MSC\AppInfo\Substitute\QueryParams@CommonBuild]" Type="STR" Compare="EQ"><![CDATA[1]]></PRECONDITION>
    </PRECONDITIONARRAY>
    <UPDATECOMMANDS>
      <SET_CD Name="cd9" FullName="Common_Build" Value="true"/>
    </UPDATECOMMANDS>
  </UPDATE>

  <!-- Check for ARM machine and exit -->
  <UPDATE>
    <PRECONDITIONARRAY>
      <PRECONDITION Name="[ARCHITECTURE]" Type="STR" Compare="RE"><![CDATA[^ARM]]></PRECONDITION>
    </PRECONDITIONARRAY>
    <UPDATECOMMANDS>
      <EXIT ReturnCode="0"/>
    </UPDATECOMMANDS>
  </UPDATE>

   <!-- Check whether WA is already installed -->
  <UPDATE>
    <PRECONDITIONARRAY>
      <PRECONDITION Name="[WAInstalled]" Type="STR" Compare="EQ">
        <![CDATA[TRUE]]>
      </PRECONDITION>
    </PRECONDITIONARRAY>
    <UPDATECOMMANDS>
      <EXIT ReturnCode="0"/>
    </UPDATECOMMANDS>
  </UPDATE>
  
  <!-- Check the reboot flag -->
  <UPDATE>
    <PRECONDITIONARRAY>
      <PRECONDITION Name="[REBOOT_REQUIRED]" Type="STR" Compare="EQ">
        <![CDATA[TRUE]]>
      </PRECONDITION>
    </PRECONDITIONARRAY>
    <UPDATECOMMANDS>
      <LOG Level="1" Message="A reboot is required before installing SA/WA product"/>
      <EXIT ReturnCode="-1"/>
    </UPDATECOMMANDS>
  </UPDATE>
  
  <!-- Run McInst to extract the partner customization cab file into its proper location -->
  <UPDATE>
    <PRECONDITIONARRAY>
      <PRECONDITION Name="[FILE_EXISTS:[.]\msaduc.cab]" Type="STR" Compare="EQ"><![CDATA[TRUE]]></PRECONDITION>
    </PRECONDITIONARRAY>
    <UPDATECOMMANDS>
      <EXECUTE_LOCAL Command="[MCINSTDIR]mcinst.exe" Param="sabsiuc.inf /install /WorkingDir=&quot;[.]&quot;"/>
    </UPDATECOMMANDS>
  </UPDATE>
  
  <!-- If a user with SA Live subscription selects SA Live standalone, BSI should install SA Live -->
  <UPDATE>
    <PRECONDITIONARRAY>
      <PRECONDITION Name="[SUITE]" Type="STR" Compare="NEQ">
        <![CDATA[TRUE]]>
      </PRECONDITION>
      <PRECONDITION Name="[PREMUIM]" Type="STR" Compare="EQ">
        <![CDATA[TRUE]]>
      </PRECONDITION>
    </PRECONDITIONARRAY>
    <UPDATECOMMANDS>
      <REDIRECT Location="https://sadownload.mcafee.com/products/SA/BSI/Win/binary/3.7.2/update_bsi_product.xml"/>
     <EXIT ReturnCode="[?]"/>
    </UPDATECOMMANDS> 
  </UPDATE>

  <!-- ABTest Harvest -->
  <UPDATE>
    <PRECONDITIONARRAY>
      <PRECONDITION Name="[WA_SUPPORTED_SYSTEM]" Type="STR" Compare="EQ"><![CDATA[TRUE]]></PRECONDITION>
    </PRECONDITIONARRAY>
    <UPDATECOMMANDS>
      <REDIRECT Location="https://sadownload.mcafee.com/products/SA/BSI/bsi_abtest.xml"/>
    </UPDATECOMMANDS>
  </UPDATE>

  <!-- Do not install WA if it's already been installed by WSS freemium -->
  <UPDATE>
    <PRECONDITIONARRAY/>
    <UPDATECOMMANDS>
      <SETVAR Key="WA_FREEMIUM_INSTALL" Value="[REG32:SOFTWARE\McAfee\MSC@WAFreemiumInstall]"/>
    </UPDATECOMMANDS>
  </UPDATE>

  <UPDATE>
    <PRECONDITIONARRAY>
      <PRECONDITION Name="[WA_FREEMIUM_INSTALL]" Type="STR" Compare="EQ"><![CDATA[!UNKNOWN]]></PRECONDITION>
    </PRECONDITIONARRAY>
    <UPDATECOMMANDS>
      <SETVAR Key="WA_FREEMIUM_INSTALL" Value="[REG64:SOFTWARE\McAfee\MSC@WAFreemiumInstall]"/>
    </UPDATECOMMANDS>
  </UPDATE>

  <UPDATE>
    <PRECONDITIONARRAY>
      <PRECONDITION Name="[FILE_EXISTS:[DIR:CSIDL_PROGRAM_FILESX86]\McAfee\SiteAdvisor\saUI.exe]" Type="STR" Compare="EQ"><![CDATA[TRUE]]></PRECONDITION>
      <PRECONDITION Name="[WA_FREEMIUM_INSTALL]" Type="STR" Compare="NEQ"><![CDATA[!UNKNOWN]]></PRECONDITION>
    </PRECONDITIONARRAY>
    <UPDATECOMMANDS>
      <EXIT ReturnCode="0"/>
    </UPDATECOMMANDS>
  </UPDATE>

  <UPDATE>
    <PRECONDITIONARRAY>
      <PRECONDITION Name="[REG64:SOFTWARE\McAfee\WebAdvisor@NEW_USER_STATE]" Type="STR" Compare="NEQ"><![CDATA[EXPIRED]]></PRECONDITION>
      <PRECONDITION Name="[WA_SUPPORTED_SYSTEM]" Type="STR" Compare="EQ"><![CDATA[TRUE]]></PRECONDITION>
    </PRECONDITIONARRAY>
    <UPDATECOMMANDS>  
      <SETREG64 Key="SOFTWARE\McAfee\WebAdvisor" Name="NEW_USER_STATE" Type="STR" Value="EXPIRED"/>
      <SETREG64 Key="SOFTWARE\McAfee\WebAdvisor\Settings" Name="NEW_USER_ABTEST" Type="STR" Value="SYSTEM,STR,TRUE"/>
      <SETREG64 Key="SOFTWARE\McAfee\WebAdvisor\Settings" Name="NEW_USER_ANY_FLOW" Type="STR" Value="SYSTEM,STR,TRUE"/>
    </UPDATECOMMANDS>
  </UPDATE>

  <!-- Setting to enable PPS mode -->
  <UPDATE>
    <PRECONDITIONARRAY>
      <PRECONDITION Name="[affid]" Type="STR" Compare="RE"> <![CDATA[^91254$]]></PRECONDITION>
    </PRECONDITIONARRAY>
    <UPDATECOMMANDS>
      <SETREG64 Key="SOFTWARE\McAfee\WebAdvisor\Settings" Name="pps_mode" Type="STR" Value="SYSTEM,BOOL,TRUE"/>
    </UPDATECOMMANDS>
  </UPDATE>

  <UPDATE>
    <PRECONDITIONARRAY>
      <PRECONDITION Name="[WA_SUPPORTED_SYSTEM]" Type="STR" Compare="EQ"><![CDATA[TRUE]]></PRECONDITION>
    </PRECONDITIONARRAY>
    <UPDATECOMMANDS>
      <SETVAR Key="INSTALL_FROM" Value="BSI_MAIN.XML"/>
      <REDIRECT Location="https://sadownload.mcafee.com/products/SA/v1/bsi/4.1.1/install.xml"/>
     <EXIT ReturnCode="[?]"/>
    </UPDATECOMMANDS>
  </UPDATE>

  <!-- Win7+ and IE9+ -> WA -->
  <!-- Anything else would get SA -->
  <UPDATE>
    <PRECONDITIONARRAY/>
    <UPDATECOMMANDS>
      <REDIRECT Location="https://sadownload.mcafee.com/products/SA/BSI/Win/binary/3.7.2/update_bsi_product.xml"/>
      <EXIT ReturnCode="[?]"/>
    </UPDATECOMMANDS> 
  </UPDATE>
</UPDATEARRAY>
<!--1EE75ADFD00E93E9C51298A917D4D50AB24BB133436C8CE78186F9316F4F6F74C12665D570A3BA8DD4779BD2CF0BEE361CCD066C3802550760E9FE391892DC5D-->