<!-- This block is autogenerated using scripts\update-msvcredist.ps1 -->
<?define VCREDIST_VER = "14.50.35719.0" ?>
<?define VCREDIST_X64_SIZE = "18558944" ?>
<?define VCREDIST_X64_SHA512 = "B618F601A1989A696C8EFA0208EFD977A3BFE9A8DF8ACE8FAE9EEF20262240E7EEFCB67CE466FE166BDC606D80D594D2DE80B3B4E530749AAB8E99F5CECD86D4" ?>
<?define VCREDIST_X64_URL = "https://download.visualstudio.microsoft.com/download/pr/6f02464a-5e9b-486d-a506-c99a17db9a83/8995548DFFFCDE7C49987029C764355612BA6850EE09A7B6F0FDDC85BDC5C280/VC_redist.x64.exe" ?>
<?define VCREDIST_X64_UPGRADE_CODE = "36F68A90-239C-34DF-B58C-64B30153CE35" ?>
<?define VCREDIST_ARM64_SIZE = "11740976" ?>
<?define VCREDIST_ARM64_SHA512 = "5DA5D37877DA4FEDF6E50117D3CAE587E2321522C467B2C124EFF2176526C87CB2C415E6A06C7DF14C4ED4A6C296EF646638FB161F5AA52FAE6CC26DD43ADAD6" ?>
<?define VCREDIST_ARM64_URL = "https://download.visualstudio.microsoft.com/download/pr/6f02464a-5e9b-486d-a506-c99a17db9a83/FCDA7B24413F170BD456052F08AE49FB60AC1638F083AAB7A35AFEB957AEB1D6/VC_redist.arm64.exe" ?>
<?define VCREDIST_ARM64_UPGRADE_CODE = "DC9BAE42-810B-423A-9E25-E4073F1C7B00" ?>

<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">

  <Bundle Name="Moonlight Game Streaming Client"
          Version="!(bind.PackageVersion.Moonlight_x64)"
          Manufacturer="Moonlight Game Streaming Project"
          UpgradeCode="466fa35d-4be4-40ef-9ce5-afadc3b63bc5"
          HelpUrl="https://github.com/moonlight-stream/moonlight-docs/wiki/Setup-Guide"
          UpdateUrl="https://github.com/moonlight-stream/moonlight-qt/releases"
          DisableModify="yes"
          IconSourceFile="..\..\app\moonlight.ico">

    <bal:Condition Message="This version of Moonlight requires Windows 10 or later." Condition="VersionNT &gt;= v10.0" />
    <bal:Condition Message="This version of Moonlight requires a 64-bit version of Windows." Condition="NativeMachine &lt;&gt; 332" />

    <Variable Name="InstallFolder" Type="formatted" Value="[ProgramFiles6432Folder]Moonlight Game Streaming" />

    <!-- Define "Add desktop shortcut" -checkbox's state by defining a variable
         which has same name as the checkbox has. Value 1 means that checkbox
         is checked, 0 means that is unchecked-->
    <!-- Set checkbox's state as checked by default -->
    <Variable Name="AddDesktopShortcutCheckbox" Type="numeric" Value="1" />
    <!-- Get checkbox's state from registry if present. The registry value
         "DesktopShortcutInstallState" is set in Product.wxs. -->
    <util:RegistrySearch Variable="HasDesktopShortcutInstallStateRegKey" Root="HKCU" Key="Software\Moonlight Game Streaming Project" Value="DesktopShortcutInstallState" Result="exists" />
    <util:RegistrySearch Variable="AddDesktopShortcutCheckbox" Root="HKCU" Key="Software\Moonlight Game Streaming Project" Value="DesktopShortcutInstallState" Condition="HasDesktopShortcutInstallStateRegKey" />

    <util:ProductSearch Id="VCREDIST_14_x64"
                        UpgradeCode="$(var.VCREDIST_X64_UPGRADE_CODE)"
                        Result="version"
                        Variable="VCREDIST_14_x64" />

    <util:ProductSearch Id="VCREDIST_14_ARM64"
                        UpgradeCode="$(var.VCREDIST_ARM64_UPGRADE_CODE)"
                        Result="version"
                        Variable="VCREDIST_14_ARM64" />

    <BootstrapperApplication>
      <bal:WixStandardBootstrapperApplication ShowVersion="yes"
                                              LicenseFile="license.rtf"
                                              LogoFile="..\..\app\moonlight_wix.png"
                                              LaunchTarget="[InstallFolder]\Moonlight.exe"
                                              ThemeFile="RtfTheme.xml"
                                              Theme="rtfLicense" />
      <Payload Name="Moonlight.ico" SourceFile="..\..\app\moonlight.ico" Compressed="yes" />
    </BootstrapperApplication>

    <Chain>
      <ExePackage Cache="remove"
                  PerMachine="yes"
                  Permanent="yes"
                  Vital="yes"
                  InstallCondition="(VersionNT64 AND NOT NativeMachine) OR (NativeMachine = 34404)"
                  DetectCondition="VCREDIST_14_x64 &gt;= v$(var.VCREDIST_VER)"
                  InstallArguments="/install /quiet /norestart">

        <ExePackagePayload Description="Microsoft Visual C++ 2015-2022 Redistributable - x64"
                           ProductName="Microsoft Visual C++ 2015-2022 Redistributable - x64"
                           Size="$(var.VCREDIST_X64_SIZE)"
                           Version="$(var.VCREDIST_VER)"
                           Hash="$(var.VCREDIST_X64_SHA512)"
                           Name="VC_redist.x64.exe"
                           DownloadUrl="$(var.VCREDIST_X64_URL)" />

        <!-- Newer version installed is fine -->
        <ExitCode Value="1638" Behavior="success" />
      </ExePackage>

      <ExePackage Cache="remove"
                  PerMachine="yes"
                  Permanent="yes"
                  Vital="yes"
                  InstallCondition="NativeMachine = 43620"
                  DetectCondition="VCREDIST_14_ARM64 &gt;= v$(var.VCREDIST_VER)"
                  InstallArguments="/install /quiet /norestart">

        <ExePackagePayload Description="Microsoft Visual C++ 2015-2022 Redistributable - ARM64"
                           ProductName="Microsoft Visual C++ 2015-2022 Redistributable - ARM64"
                           Size="$(var.VCREDIST_ARM64_SIZE)"
                           Version="$(var.VCREDIST_VER)"
                           Hash="$(var.VCREDIST_ARM64_SHA512)"
                           Name="VC_redist.arm64.exe"
                           DownloadUrl="$(var.VCREDIST_ARM64_URL)" />

        <!-- Newer version installed is fine -->
        <ExitCode Value="1638" Behavior="success" />
      </ExePackage>

      <MsiPackage Id="Moonlight_x64"
                  SourceFile="$(env.BUILD_ROOT)\build-x64-$(env.BUILD_CONFIG)\Moonlight.msi"
                  Name="Moonlight_x64.msi"
                  InstallCondition="(VersionNT64 AND NOT NativeMachine) OR (NativeMachine = 34404)"
                  Vital="yes">
        <MsiProperty Name="INSTALLFOLDER" Value="[InstallFolder]" />
        <MsiProperty Name="ADDDESKTOPSHORTCUT" Value="[AddDesktopShortcutCheckbox]" />
      </MsiPackage>

      <MsiPackage Id="Moonlight_arm64"
                  SourceFile="$(env.BUILD_ROOT)\build-arm64-$(env.BUILD_CONFIG)\Moonlight.msi"
                  Name="Moonlight_arm64.msi"
                  InstallCondition="NativeMachine = 43620"
                  Vital="yes">
        <MsiProperty Name="INSTALLFOLDER" Value="[InstallFolder]" />
        <MsiProperty Name="ADDDESKTOPSHORTCUT" Value="[AddDesktopShortcutCheckbox]" />
      </MsiPackage>
    </Chain>

  </Bundle>
</Wix>
