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

  <Product Id="*" Name="$(var.ProductName) $(var.ProductVersion)" Language="!(loc.LANG)" Version="$(var.ProductVersion)" Manufacturer="$(var.ProductManufacturer)" UpgradeCode="B0EEFCC7-8A9c-4471-AB10-CBD35BE3161D">
    <Package Id="*" InstallerVersion="300" Compressed="yes" Languages="0,1028,1029,1030,1031,1033,1034,1036,1040,1041,1043,1044,1045,1046,1049,1053,1055,2052" />

    <Property Id='NSISINSTALL'>
      <RegistrySearch Id='NSISSearch' Win64='no' Root='HKLM' Key='SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Mumble' Type='directory' Name='InstallLocation' />
    </Property> 

    <CustomAction Id="SetNSISPath" Property="NSISPath" Value="[NSISINSTALL]Uninstall.exe" />
    <CustomAction Id="NSISUninstall" Property="NSISPath" ExeCommand="/S _?=[NSISINSTALL]" Execute="deferred" Impersonate="no" Return="check" />
    <UI>
      <ProgressText Action="NSISUninstall">Uninstalling old version</ProgressText>
    </UI>

    <Property Id="WixShellExecTarget" Value="[#mumble.exe]" />
    <CustomAction Id="LaunchApplication" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes" />
    <UI>
      <Publish Dialog="MumbleExitDialog" Control="Finish" Order="1" Event="DoAction" Value="LaunchApplication">LAUNCHAPPONEXIT</Publish>
    </UI>

    <Property Id='INSTALLDIR'>
      <ComponentSearch Id='SearchMumbleComponent' Guid='A08F7909-1116-4AC8-9422-051FA1A1BE19' />
    </Property>

    <Condition Message='$(var.ProductName) requires at least Windows XP SP2 or Windows Server 2003 SP1'>
      VersionNT > 501 OR (VersionNT = 501 AND ServicePackLevel >= 2) OR (VersionNT = 502 AND ServicePackLevel >= 1)
    </Condition>

    <MajorUpgrade AllowDowngrades='no' AllowSameVersionUpgrades='yes' MigrateFeatures='yes' Schedule='afterInstallExecute' DowngradeErrorMessage='A later version of [ProductName] is already installed.' />

    <Media Id="1" Cabinet="$(var.ProductName).cab" EmbedCab="yes" CompressionLevel="high" />

    <UIRef Id="MumbleUI_FeatureTree" />
    <UIRef Id="WixUI_ErrorProgressText" />

    <Property Id="ALLUSERS" Value="1" />
    <Property Id="REINSTALLMODE" Value="amus" />
    <Property Id="ARPURLINFOABOUT" Value="http://mumble.sourceforge.net/" />
    <Property Id="ARPURLUPDATEINFO" Value="http://mumble.sourceforge.net/" />
    <Property Id='ARPPRODUCTICON'>mumble.ico</Property>

    <WixVariable Id="WixUILicenseRtf" Value="$(var.SourceDir)\installer\gpl.rtf" />
    <WixVariable Id="WixUIBannerBmp" Value="$(var.SourceDir)\installer\bannrbmp.bmp" />
    <WixVariable Id="WixUIDialogBmp" Value="$(var.SourceDir)\installer\dlgbmp.bmp" />

    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFilesFolder">
        <Directory Id="INSTALLDIR" Name="$(var.ProductName)">
        </Directory>

        <?ifdef MergeModuleDir ?>
          <Merge Id="VCRedist" SourceFile="$(var.MergeModuleDir)\Microsoft_VC100_CRT_x86.msm" DiskId="1" Language="1033" />
        <?endif ?>
      </Directory>

      <Directory Id="DesktopFolder" />

      <Directory Id="ProgramMenuFolder">
        <Directory Id="ApplicationProgramsFolder" Name="$(var.ProductName)" />
      </Directory>

      <Directory Id="AppDataFolder">
        <Directory Id="AppDataProgramFolder" Name="$(var.ProductName)">
          <Directory Id="AppDataPluginFolder" Name="Plugins" />
        </Directory>
      </Directory>
    </Directory>

    <Icon Id="mumble.ico" SourceFile="$(var.SourceDir)\icons\mumble.ico"/>
    <Icon Id="murmur.ico" SourceFile="$(var.SourceDir)\icons\murmur.ico"/>

    <DirectoryRef Id="ApplicationProgramsFolder">
      <Component Id="ApplicationProgramsFolderRemovalComponent" Guid="0AE1745D-FF86-4D61-BAF3-44248D21D263">
        <RegistryValue Key="Software\Mumble\Uninstall" Root="HKCU" Value="1" Type="integer" KeyPath="yes" />
        <RemoveFolder Id="ApplicationProgramsFolder" On="uninstall" />
      </Component>
    </DirectoryRef>

    <DirectoryRef Id="AppDataPluginFolder">
      <Component Id="NSISUninstall" Guid="3116B7EF-CBA3-4E0B-A2C5-0F0608038905">
        <Condition>NOT Installed AND NSISINSTALL</Condition>
        <RegistryValue Key="Software\Mumble\Uninstall" Root="HKCU" Value="1" Type="integer" KeyPath="yes" />
        <RemoveFile Id="NSISUninstaller" Property="NSISINSTALL" Name="Uninstall.exe" On="install"/>
        <RemoveFile Id="DownloadedPlugins" Directory="AppDataPluginFolder" Name="*.dll" On="install" />
        <RemoveFolder Id="AppDataPluginFolder" On="uninstall" />
        <RemoveFolder Id="AppDataProgramFolder" Directory="AppDataProgramFolder" On="uninstall" />
      </Component>
    </DirectoryRef>

    <ComponentGroup Id="LibrariesCommon">
      <?ifndef StaticBuild ?>
        <ComponentGroupRef Id="Qt" />

        <ComponentRef Id="libeay32.dll" />
        <ComponentRef Id="ssleay32.dll" />
        <?ifdef ZlibDir ?>
          <ComponentRef Id="zlib1.dll" />
        <?endif ?>

        <ComponentRef Id="qt.conf" />
      <?endif ?>

      <ComponentRef Id="licence.txt" />
      <ComponentRef Id="Readme.txt" />
      <ComponentRef Id="Changes.txt" />
      <ComponentRef Id="qt.txt" />

      <ComponentRef Id="dbghelp.dll" />

      <?ifndef StaticBuild ?>
        <?ifdef ProtoBufDir ?>
          <ComponentRef Id="libprotobuf.dll" />
        <?endif ?>
        <?ifdef MySQLDir ?>
          <ComponentRef Id="libmysql.dll" />
        <?endif ?>
      <?endif ?>

      <?ifdef IntelCppDir ?>
        <ComponentRef Id="libmmd.dll"/>
      <?endif ?>

      <?ifdef RedistDirVC10 ?>
        <ComponentRef Id="msvcp100.dll" />
        <ComponentRef Id="msvcr100.dll" />
      <?endif ?>
    </ComponentGroup>

    <Feature Id="Mumble" Title="!(loc.MUMBLE_SEC_MUMBLE)" Description="!(loc.DESC_SectionMumble)" Level="1" AllowAdvertise="no" ConfigurableDirectory="INSTALLDIR">
      <?ifndef StaticBuild ?>
        <?ifdef SndFileDir ?>
          <ComponentRef Id="libsndfile1.dll" />
        <?endif ?>
      <?endif ?>
      <ComponentRef Id="speex.dll" />
      <ComponentRef Id="speex.txt" />

      <ComponentGroupRef Id="Plugins"/>
      <ComponentRef Id="celt0.0.7.0.dll" />
      <ComponentRef Id="celt0.0.11.0.dll" />
      <ComponentRef Id="opus.dll" />
      <?ifdef SSE ?>
        <ComponentRef Id="celt0.0.7.0.sse.dll" />
        <ComponentRef Id="celt0.0.11.0.sse.dll" />
      <?endif ?>
      <?ifdef SSE2 ?>
        <ComponentRef Id="celt0.0.7.0.sse2.dll" />
        <ComponentRef Id="celt0.0.11.0.sse2.dll" />
        <ComponentRef Id="opus.sse2.dll" />
      <?endif ?>
      <?ifdef StaticBuild ?>
        <ComponentRef Id="mumble_app.dll" />
      <?endif ?>
      <ComponentRef Id="mumble.exe" />
      <ComponentRef Id="mumble_ol.dll" />
      <?ifdef G15 ?>
        <ComponentRef Id="mumble_g15_helper.exe" />
      <?endif ?>
      
    </Feature>

    <Feature Id="Murmur" Title="!(loc.MUMBLE_SEC_MURMUR)" Description="!(loc.DESC_SectionMurmur)" Level="1000" ConfigurableDirectory="INSTALLDIR">
      <?ifndef StaticBuild ?>
        <?ifdef IceDir ?>
          <ComponentRef Id="bzip2.dll" />
          <ComponentRef Id="ice34.dll" />
          <ComponentRef Id="iceutil34.dll" />
        <?endif ?>
        <?ifdef DBusDir ?>
          <ComponentGroupRef Id="DBus" />
        <?endif ?>
      <?endif ?>

      <ComponentRef Id="murmur.exe" />
      <ComponentRef Id="murmur.ini" />
      <ComponentRef Id="Murmur.ice" />
    </Feature>

    <Feature Id="Libraries" Title="Required Libraries" Display="hidden" AllowAdvertise="no" Absent="disallow" Level="1">
      <ComponentGroupRef Id="LibrariesCommon" />
      <ComponentRef Id="ApplicationProgramsFolderRemovalComponent" />
      <ComponentRef Id="NSISUninstall" />
    </Feature>

    <?ifdef MergeModuleDir ?>
    <Feature Id="VCRedist" Title="Visual C++ 10.0 Runtime" AllowAdvertise="no" Display="hidden" Level="1">
      <MergeRef Id="VCRedist"/>
    </Feature>
    <?endif ?>

    <InstallExecuteSequence>
      <AppSearch Sequence='1' />
      <Custom Action="SetNSISPath" After="AppSearch">NSISINSTALL</Custom>
      <Custom Action='NSISUninstall' After='InstallInitialize'>NSISINSTALL AND NOT Installed</Custom>
    </InstallExecuteSequence>
  </Product>
</Wix>
<commit_msg>installer: update Product.wxs to refer to the VC120 CRT.<commit_after><?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <?include "Settings.wxi" ?>

  <Product Id="*" Name="$(var.ProductName) $(var.ProductVersion)" Language="!(loc.LANG)" Version="$(var.ProductVersion)" Manufacturer="$(var.ProductManufacturer)" UpgradeCode="B0EEFCC7-8A9c-4471-AB10-CBD35BE3161D">
    <Package Id="*" InstallerVersion="300" Compressed="yes" Languages="0,1028,1029,1030,1031,1033,1034,1036,1040,1041,1043,1044,1045,1046,1049,1053,1055,2052" />

    <Property Id='NSISINSTALL'>
      <RegistrySearch Id='NSISSearch' Win64='no' Root='HKLM' Key='SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Mumble' Type='directory' Name='InstallLocation' />
    </Property> 

    <CustomAction Id="SetNSISPath" Property="NSISPath" Value="[NSISINSTALL]Uninstall.exe" />
    <CustomAction Id="NSISUninstall" Property="NSISPath" ExeCommand="/S _?=[NSISINSTALL]" Execute="deferred" Impersonate="no" Return="check" />
    <UI>
      <ProgressText Action="NSISUninstall">Uninstalling old version</ProgressText>
    </UI>

    <Property Id="WixShellExecTarget" Value="[#mumble.exe]" />
    <CustomAction Id="LaunchApplication" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes" />
    <UI>
      <Publish Dialog="MumbleExitDialog" Control="Finish" Order="1" Event="DoAction" Value="LaunchApplication">LAUNCHAPPONEXIT</Publish>
    </UI>

    <Property Id='INSTALLDIR'>
      <ComponentSearch Id='SearchMumbleComponent' Guid='A08F7909-1116-4AC8-9422-051FA1A1BE19' />
    </Property>

    <Condition Message='$(var.ProductName) requires at least Windows XP SP2 or Windows Server 2003 SP1'>
      VersionNT > 501 OR (VersionNT = 501 AND ServicePackLevel >= 2) OR (VersionNT = 502 AND ServicePackLevel >= 1)
    </Condition>

    <MajorUpgrade AllowDowngrades='no' AllowSameVersionUpgrades='yes' MigrateFeatures='yes' Schedule='afterInstallExecute' DowngradeErrorMessage='A later version of [ProductName] is already installed.' />

    <Media Id="1" Cabinet="$(var.ProductName).cab" EmbedCab="yes" CompressionLevel="high" />

    <UIRef Id="MumbleUI_FeatureTree" />
    <UIRef Id="WixUI_ErrorProgressText" />

    <Property Id="ALLUSERS" Value="1" />
    <Property Id="REINSTALLMODE" Value="amus" />
    <Property Id="ARPURLINFOABOUT" Value="http://mumble.sourceforge.net/" />
    <Property Id="ARPURLUPDATEINFO" Value="http://mumble.sourceforge.net/" />
    <Property Id='ARPPRODUCTICON'>mumble.ico</Property>

    <WixVariable Id="WixUILicenseRtf" Value="$(var.SourceDir)\installer\gpl.rtf" />
    <WixVariable Id="WixUIBannerBmp" Value="$(var.SourceDir)\installer\bannrbmp.bmp" />
    <WixVariable Id="WixUIDialogBmp" Value="$(var.SourceDir)\installer\dlgbmp.bmp" />

    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFilesFolder">
        <Directory Id="INSTALLDIR" Name="$(var.ProductName)">
        </Directory>

        <?ifdef MergeModuleDir ?>
          <Merge Id="VCRedist" SourceFile="$(var.MergeModuleDir)\Microsoft_VC120_CRT_x86.msm" DiskId="1" Language="1033" />
        <?endif ?>
      </Directory>

      <Directory Id="DesktopFolder" />

      <Directory Id="ProgramMenuFolder">
        <Directory Id="ApplicationProgramsFolder" Name="$(var.ProductName)" />
      </Directory>

      <Directory Id="AppDataFolder">
        <Directory Id="AppDataProgramFolder" Name="$(var.ProductName)">
          <Directory Id="AppDataPluginFolder" Name="Plugins" />
        </Directory>
      </Directory>
    </Directory>

    <Icon Id="mumble.ico" SourceFile="$(var.SourceDir)\icons\mumble.ico"/>
    <Icon Id="murmur.ico" SourceFile="$(var.SourceDir)\icons\murmur.ico"/>

    <DirectoryRef Id="ApplicationProgramsFolder">
      <Component Id="ApplicationProgramsFolderRemovalComponent" Guid="0AE1745D-FF86-4D61-BAF3-44248D21D263">
        <RegistryValue Key="Software\Mumble\Uninstall" Root="HKCU" Value="1" Type="integer" KeyPath="yes" />
        <RemoveFolder Id="ApplicationProgramsFolder" On="uninstall" />
      </Component>
    </DirectoryRef>

    <DirectoryRef Id="AppDataPluginFolder">
      <Component Id="NSISUninstall" Guid="3116B7EF-CBA3-4E0B-A2C5-0F0608038905">
        <Condition>NOT Installed AND NSISINSTALL</Condition>
        <RegistryValue Key="Software\Mumble\Uninstall" Root="HKCU" Value="1" Type="integer" KeyPath="yes" />
        <RemoveFile Id="NSISUninstaller" Property="NSISINSTALL" Name="Uninstall.exe" On="install"/>
        <RemoveFile Id="DownloadedPlugins" Directory="AppDataPluginFolder" Name="*.dll" On="install" />
        <RemoveFolder Id="AppDataPluginFolder" On="uninstall" />
        <RemoveFolder Id="AppDataProgramFolder" Directory="AppDataProgramFolder" On="uninstall" />
      </Component>
    </DirectoryRef>

    <ComponentGroup Id="LibrariesCommon">
      <?ifndef StaticBuild ?>
        <ComponentGroupRef Id="Qt" />

        <ComponentRef Id="libeay32.dll" />
        <ComponentRef Id="ssleay32.dll" />
        <?ifdef ZlibDir ?>
          <ComponentRef Id="zlib1.dll" />
        <?endif ?>

        <ComponentRef Id="qt.conf" />
      <?endif ?>

      <ComponentRef Id="licence.txt" />
      <ComponentRef Id="Readme.txt" />
      <ComponentRef Id="Changes.txt" />
      <ComponentRef Id="qt.txt" />

      <ComponentRef Id="dbghelp.dll" />

      <?ifndef StaticBuild ?>
        <?ifdef ProtoBufDir ?>
          <ComponentRef Id="libprotobuf.dll" />
        <?endif ?>
        <?ifdef MySQLDir ?>
          <ComponentRef Id="libmysql.dll" />
        <?endif ?>
      <?endif ?>

      <?ifdef IntelCppDir ?>
        <ComponentRef Id="libmmd.dll"/>
      <?endif ?>

      <?ifdef RedistDirVC10 ?>
        <ComponentRef Id="msvcp100.dll" />
        <ComponentRef Id="msvcr100.dll" />
      <?endif ?>
    </ComponentGroup>

    <Feature Id="Mumble" Title="!(loc.MUMBLE_SEC_MUMBLE)" Description="!(loc.DESC_SectionMumble)" Level="1" AllowAdvertise="no" ConfigurableDirectory="INSTALLDIR">
      <?ifndef StaticBuild ?>
        <?ifdef SndFileDir ?>
          <ComponentRef Id="libsndfile1.dll" />
        <?endif ?>
      <?endif ?>
      <ComponentRef Id="speex.dll" />
      <ComponentRef Id="speex.txt" />

      <ComponentGroupRef Id="Plugins"/>
      <ComponentRef Id="celt0.0.7.0.dll" />
      <ComponentRef Id="celt0.0.11.0.dll" />
      <ComponentRef Id="opus.dll" />
      <?ifdef SSE ?>
        <ComponentRef Id="celt0.0.7.0.sse.dll" />
        <ComponentRef Id="celt0.0.11.0.sse.dll" />
      <?endif ?>
      <?ifdef SSE2 ?>
        <ComponentRef Id="celt0.0.7.0.sse2.dll" />
        <ComponentRef Id="celt0.0.11.0.sse2.dll" />
        <ComponentRef Id="opus.sse2.dll" />
      <?endif ?>
      <?ifdef StaticBuild ?>
        <ComponentRef Id="mumble_app.dll" />
      <?endif ?>
      <ComponentRef Id="mumble.exe" />
      <ComponentRef Id="mumble_ol.dll" />
      <?ifdef G15 ?>
        <ComponentRef Id="mumble_g15_helper.exe" />
      <?endif ?>
      
    </Feature>

    <Feature Id="Murmur" Title="!(loc.MUMBLE_SEC_MURMUR)" Description="!(loc.DESC_SectionMurmur)" Level="1000" ConfigurableDirectory="INSTALLDIR">
      <?ifndef StaticBuild ?>
        <?ifdef IceDir ?>
          <ComponentRef Id="bzip2.dll" />
          <ComponentRef Id="ice34.dll" />
          <ComponentRef Id="iceutil34.dll" />
        <?endif ?>
        <?ifdef DBusDir ?>
          <ComponentGroupRef Id="DBus" />
        <?endif ?>
      <?endif ?>

      <ComponentRef Id="murmur.exe" />
      <ComponentRef Id="murmur.ini" />
      <ComponentRef Id="Murmur.ice" />
    </Feature>

    <Feature Id="Libraries" Title="Required Libraries" Display="hidden" AllowAdvertise="no" Absent="disallow" Level="1">
      <ComponentGroupRef Id="LibrariesCommon" />
      <ComponentRef Id="ApplicationProgramsFolderRemovalComponent" />
      <ComponentRef Id="NSISUninstall" />
    </Feature>

    <?ifdef MergeModuleDir ?>
    <Feature Id="VCRedist" Title="Visual C++ 10.0 Runtime" AllowAdvertise="no" Display="hidden" Level="1">
      <MergeRef Id="VCRedist"/>
    </Feature>
    <?endif ?>

    <InstallExecuteSequence>
      <AppSearch Sequence='1' />
      <Custom Action="SetNSISPath" After="AppSearch">NSISINSTALL</Custom>
      <Custom Action='NSISUninstall' After='InstallInitialize'>NSISINSTALL AND NOT Installed</Custom>
    </InstallExecuteSequence>
  </Product>
</Wix>

{'fraction_non_alphanumeric': 0.1637977568523961, 'fraction_numerical': 0.031248125712229353, 'mean_word_length': 3.5845477041517735, 'pattern_counts': {'":': 0, '<': 343, '<?xml version=': 2, '>': 349, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 4}, 'pii_count': 12, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7209576', 'n_tokens_mistral': 5795, 'n_tokens_neox': 5288, 'n_words': 854}