<!-- This block is autogenerated using scripts\update-msvcredist.ps1 -->
<?define VCREDIST_VER = "14.40.33810.0" ?>
<?define VCREDIST_X64_SIZE = "25397512" ?>
<?define VCREDIST_X64_SHA512 = "5935B69F5138AC3FBC33813C74DA853269BA079F910936AEFA95E230C6092B92F6225BFFB594E5DD35FF29BF260E4B35F91ADEDE90FDF5F062030D8666FD0104" ?>
<?define VCREDIST_X64_URL = "https://download.visualstudio.microsoft.com/download/pr/1754ea58-11a6-44ab-a262-696e194ce543/3642E3F95D50CC193E4B5A0B0FFBF7FE2C08801517758B4C8AEB7105A091208A/VC_redist.x64.exe" ?>
<?define VCREDIST_X64_UPGRADE_CODE = "36F68A90-239C-34DF-B58C-64B30153CE35" ?>
<?define VCREDIST_ARM64_SIZE = "11531032" ?>
<?define VCREDIST_ARM64_SHA512 = "76A467E992E4F2CBAE261CFB8C64274782E3D420A61F52458662AA1C3A843ED8F4E340D4C237BB080BE1F2E86D7C4E5F4859FFDA8FDCA4E77375FD4D49663D14" ?>
<?define VCREDIST_ARM64_URL = "https://download.visualstudio.microsoft.com/download/pr/1754ea58-11a6-44ab-a262-696e194ce543/15B8F5B2106DC7A7BD83AB57B796770E0F4ECB891AD19BF655C9D6A9DA650AD2/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>
