<?xml version="1.0" encoding="windows-1252"?>
<?if $(var.Platform) = x64 ?>
  <?ifndef OpenSSL ?>
    <?define ProductName = "@OPENSC_VS_FF_PRODUCT_NAME@ Light (64bit)" ?>
  <?else ?>
    <?define ProductName = "@OPENSC_VS_FF_PRODUCT_NAME@ (64bit)" ?>
  <?endif ?>
  <?define Win64YesNo="yes" ?>
  <?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
  <?define PlatformSystemFolder = "System64Folder" ?>
  <?define PlatformUpgradeCode = "{9A449570-69A2-11E0-9CC6-955B4824019B}" ?>
<?else ?>
  <?ifndef OpenSSL ?>
    <?define ProductName = "@OPENSC_VS_FF_PRODUCT_NAME@ Light" ?>
  <?else ?>
    <?define ProductName = "@OPENSC_VS_FF_PRODUCT_NAME@" ?>
  <?endif ?>
  <?define Win64YesNo="no" ?>
  <?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
  <?define PlatformSystemFolder = "SystemFolder" ?>
  <?define PlatformUpgradeCode = "{69428F65-B96D-458D-BB87-DBB5FDB35DCE}" ?>
<?endif ?>

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
  <Product Name="$(var.ProductName)"
           Id="*"
           UpgradeCode="$(var.PlatformUpgradeCode)"
           Language="1033"
           Codepage="1252"
           Version="@OPENSC_VERSION_MAJOR@.@OPENSC_VERSION_MINOR@.@OPENSC_VERSION_FIX@.0"
           Manufacturer="@OPENSC_VS_FF_COMPANY_NAME@">
    <Package Platform="$(var.Platform)"
             Description="@VS_FF_PRODUCT_NAME@ Installer"
             Comments="@OPENSC_VS_FF_COMMENTS@"
             Manufacturer="@OPENSC_VS_FF_COMPANY_NAME@"
             InstallerVersion="300"
             Languages="1033"
             Compressed="yes"
             SummaryCodepage="1252"
             InstallScope="perMachine"/>
    <!-- OpenSC is covered by LGPL. Extend the license as required with other EULA notes -->
    <WixVariable Id="WixUILicenseRtf" Value="license.rtf"/>
    <!-- Setup background images -->
    <WixVariable Id="WixUIBannerBmp" Value="bannrbmp.bmp"/>
    <WixVariable Id="WixUIDialogBmp" Value="dlgbmp.bmp"/>
    <!-- Links in info -->
    <Property Id="ARPHELPLINK" Value="@PRODUCT_BUGREPORT@"/>
    <Property Id="ARPURLINFOABOUT" Value="@OPENSC_VS_FF_PRODUCT_URL@"/>
    <Property Id="ARPURLUPDATEINFO" Value="@OPENSC_VS_FF_PRODUCT_UPDATES@"/>
    <Property Id="ARPCONTACT" Value="@OPENSC_VS_FF_COMPANY_URL@"/>

	<Icon Id="OpenSC.ico" SourceFile="OpenSC.ico" />
	<Property Id="ARPPRODUCTICON" Value="OpenSC.ico" />

    <!--Custom actions-->
    <Binary Id="customactions" SourceFile="$(var.SOURCE_DIR)\win32\customactions.dll" />
    <CustomAction Id="RemoveSmartCardConfiguration" BinaryKey="customactions" DllEntry="RemoveSmartCardConfiguration" Execute="deferred" Impersonate="no"/>
    <CustomAction Id="AddSmartCardConfiguration" BinaryKey="customactions" DllEntry="AddSmartCardConfiguration" Execute="commit" Impersonate="no"/>

    <Media Id="1" Cabinet="OpenSC.cab" EmbedCab="yes" CompressionLevel="high"/>
    <MajorUpgrade DowngradeErrorMessage="Can't downgrade." AllowSameVersionUpgrades="yes"/>
    <Directory Id="TARGETDIR" Name="SourceDir">
      <!-- Install critical DLL-s to system folder. NB! Id-s can not contain "-" characters! -->
      <Directory Id="$(var.PlatformSystemFolder)" Name=".">
        <Component Id="opensc_pkcs11.dll" Guid="*" Win64="$(var.Win64YesNo)">
          <File Source="$(var.SOURCE_DIR)\src\pkcs11\opensc-pkcs11.dll" Vital="yes"/>
        </Component>
        <Component Id="onepin_opensc_pkcs11.dll" Guid="*" Win64="$(var.Win64YesNo)">
          <File Source="$(var.SOURCE_DIR)\src\pkcs11\onepin-opensc-pkcs11.dll" Vital="yes"/>
        </Component>
        <Component Id="opensc_minidriver.dll" Guid="*" Win64="$(var.Win64YesNo)">
          <File Source="$(var.SOURCE_DIR)\src\minidriver\opensc-minidriver.dll" Vital="yes"/>
        </Component>
        <!-- install an alias for the Base smart card CSP. Using a different CSP in minidriver installation deactivate the plug and play feature
            but not all other components like the pin change screen available after ctrl+alt+del.
            It is because the "80000001" entry is still returning the minidriver dll.-->
        <Component Id="openscBaseCSP" Guid="*" Win64="$(var.Win64YesNo)">
          <RegistryKey Root="HKLM" Key="SOFTWARE\Microsoft\Cryptography\Defaults\Provider\OpenSC CSP">
            <RegistryValue Type="string" Name="Image Path" Value="basecsp.dll" KeyPath="yes"/>
            <RegistryValue Type="integer" Name="Type" Value="1"/>
          </RegistryKey>
          <!-- when the x64 installer will install x86 components on x64 plateform too
              <?if $(var.Platform) = x64 ?>
              <RegistryKey Root="HKLM" Key="SOFTWARE\Wow6432Node\Microsoft\Cryptography\Defaults\Provider\OpenSC CSP">
                <RegistryValue Type="string" Name="Image Path" Value="basecsp.dll"/>
                <RegistryValue Type="integer" Name="Type" Value="1"/>
              </RegistryKey>
              <?endif?>
              -->
        </Component>
      </Directory>
      <!-- Install tools and profiles to Program Files -->
      <Directory Id="$(var.PlatformProgramFilesFolder)" Name="PFiles">
        <Directory Id="OpenSC_Project_Dir" Name="OpenSC Project">
          <!-- Most of the stuff goes to the Program Files folder -->
          <Directory Id="PKCS11SPYINSTALLDIR" Name="PKCS11-Spy">
            <Component Id="pkcs11_spy.dll" Guid="*" Win64="$(var.Win64YesNo)">
              <File Source="$(var.SOURCE_DIR)\src\pkcs11\pkcs11-spy.dll"/>
              <RegistryKey Id="Pkcs11SpyRegs" Root="HKLM" Key="Software\[Manufacturer]\PKCS11-Spy" Action="createAndRemoveOnUninstall">
                <RegistryValue Type="string" Name="Module" Value="%SystemRoot%\system32\opensc-pkcs11.dll"/>
                <RegistryValue Type="string" Name="Output" Value="%TEMP%\pkcs11-spy.log"/>
              </RegistryKey>
            </Component>
          </Directory>
          <Directory Id="INSTALLDIR" Name="OpenSC">
            <!-- opensc.conf sample goes to installation directory -->
            <Component Id="opensc.conf" Guid="*" Win64="$(var.Win64YesNo)">
              <File Source="$(var.SOURCE_DIR)\etc\opensc.conf" Name="opensc.conf" KeyPath="yes"/>
              <!-- -->
              <RegistryKey Id="OpenscRegs" Root="HKLM" Key="Software\[Manufacturer]\OpenSC" Action="createAndRemoveOnUninstall">
                <RegistryValue Type="string" Name="ConfigFile" Value="[INSTALLDIR]opensc.conf"/>
                <RegistryValue Type="string" Name="ProfileDir" Value="[INSTALLDIR]profiles"/>
                <RegistryValue Type="string" Name="SmDir" Value="[INSTALLDIR]tools"/>
                <RegistryValue Type="integer" Name="MiniDriverDebug" Value="0"/>
              </RegistryKey>
            </Component>

            <!-- Tools have their own folder -->
            <Directory Id="INSTALLDIR_TOOLS" Name="tools">
              <?ifdef zlib ?>
                <Component Id="zlib1.dll" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.zlib)\zlib1.dll" Vital="yes"/>
                </Component>
              <?endif ?>
              <Component Id="opensc.dll" Guid="*" Win64="$(var.Win64YesNo)">
                <File Source="$(var.SOURCE_DIR)\src\libopensc\opensc.dll" Vital="yes"/>
              </Component>
              <Component Id="opensc_explorer.exe" Guid="*" Win64="$(var.Win64YesNo)">
                <File Source="$(var.SOURCE_DIR)\src\tools\opensc-explorer.exe" Vital="yes"/>
              </Component>
              <Component Id="opensc_tool.exe" Guid="*" Win64="$(var.Win64YesNo)">
                <File Source="$(var.SOURCE_DIR)\src\tools\opensc-tool.exe" Vital="yes"/>
              </Component>
              <Component Id="pkcs11_tool.exe" Guid="*" Win64="$(var.Win64YesNo)">
                <File Source="$(var.SOURCE_DIR)\src\tools\pkcs11-tool.exe" Vital="yes"/>
              </Component>
              <Component Id="cardos_tool.exe" Guid="*" Win64="$(var.Win64YesNo)">
                <File Source="$(var.SOURCE_DIR)\src\tools\cardos-tool.exe" Vital="yes"/>
              </Component>
              <Component Id="eidenv.exe" Guid="*" Win64="$(var.Win64YesNo)">
                <File Source="$(var.SOURCE_DIR)\src\tools\eidenv.exe" Vital="yes"/>
              </Component>
              <Component Id="pkcs15_tool.exe" Guid="*" Win64="$(var.Win64YesNo)">
                <File Source="$(var.SOURCE_DIR)\src\tools\pkcs15-tool.exe" Vital="yes"/>
              </Component>
              <Component Id="pkcs15_crypt.exe" Guid="*" Win64="$(var.Win64YesNo)">
                <File Source="$(var.SOURCE_DIR)\src\tools\pkcs15-crypt.exe" Vital="yes"/>
              </Component>
              <Component Id="openpgp_tool.exe" Guid="*" Win64="$(var.Win64YesNo)">
                <File Source="$(var.SOURCE_DIR)\src\tools\openpgp-tool.exe" Vital="yes"/>
              </Component>
              <Component Id="iasecc_tool.exe" Guid="*" Win64="$(var.Win64YesNo)">
                <File Source="$(var.SOURCE_DIR)\src\tools\iasecc-tool.exe" Vital="yes"/>
              </Component>
              <?ifdef OpenSSL ?>
                <Component Id="smm_local.dll" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\smm\smm-local.dll" Vital="yes"/>
                </Component>
                <Component Id="cryptoflex_tool.exe" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\tools\cryptoflex-tool.exe" Vital="yes"/>
                </Component>
                <Component Id="pkcs15_init.exe" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\tools\pkcs15-init.exe" Vital="yes"/>
                </Component>
                <Component Id="netkey_tool.exe" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\tools\netkey-tool.exe" Vital="yes"/>
                </Component>
                <Component Id="piv_tool.exe" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\tools\piv-tool.exe" Vital="yes"/>
                </Component>
                <Component Id="westcos_tool.exe" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\tools\westcos-tool.exe" Vital="yes"/>
                </Component>
                <Component Id="sc_hsm_tool.exe" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\tools\sc-hsm-tool.exe" Vital="yes"/>
                </Component>
                <Component Id="dnie_tool.exe" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\tools\dnie-tool.exe" Vital="yes"/>
                </Component>
                <Component Id="gids_tool.exe" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\tools\gids-tool.exe" Vital="yes"/>
                </Component>
              <?endif ?>
            </Directory>
            <?ifdef OpenSSL ?>
              <Directory Id="INSTALLDIR_PROFILES" Name="profiles">
                <Component Id="cyberflex.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\cyberflex.profile"/>
                </Component>
                <Component Id="flex.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\flex.profile"/>
                </Component>
                <Component Id="gpk.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\gpk.profile"/>
                </Component>
                <Component Id="miocos.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\miocos.profile"/>
                </Component>
                <Component Id="incrypto34.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\incrypto34.profile"/>
                </Component>
                <Component Id="jcop.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\jcop.profile"/>
                </Component>
                <Component Id="muscle.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\muscle.profile"/>
                </Component>
                <Component Id="pkcs15.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\pkcs15.profile"/>
                </Component>
                <Component Id="asepcos.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\asepcos.profile"/>
                </Component>
                <Component Id="cardos.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\cardos.profile"/>
                </Component>
                <Component Id="entersafe.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\entersafe.profile"/>
                </Component>
                <Component Id="epass2003.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\epass2003.profile"/>
                </Component>
                <Component Id="myeid.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\myeid.profile"/>
                </Component>
                <Component Id="setcos.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\setcos.profile"/>
                </Component>
                <Component Id="starcos.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\starcos.profile"/>
                </Component>
                <Component Id="westcos.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\westcos.profile"/>
                </Component>
                <Component Id="oberthur.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\oberthur.profile"/>
                </Component>
                <Component Id="authentic.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\authentic.profile"/>
                </Component>
                <Component Id="rutoken.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\rutoken.profile"/>
                </Component>
                <Component Id="rutoken_ecp.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\rutoken_ecp.profile"/>
                </Component>
                <Component Id="ias_adele_admin1.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\ias_adele_admin1.profile"/>
                </Component>
                <Component Id="ias_adele_admin2.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\ias_adele_admin2.profile"/>
                </Component>
                <Component Id="ias_adele_common.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\ias_adele_common.profile"/>
                </Component>
                <Component Id="iasecc_admin_eid.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\iasecc_admin_eid.profile"/>
                </Component>
                <Component Id="iasecc_generic_oberthur.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\iasecc_generic_oberthur.profile"/>
                </Component>
                <Component Id="iasecc_generic_pki.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\iasecc_generic_pki.profile"/>
                </Component>
                <Component Id="iasecc.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\iasecc.profile"/>
                </Component>
                <Component Id="schsm.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\sc-hsm.profile"/>
                </Component>
                <Component Id="openpgp.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\openpgp.profile"/>
                </Component>
                <Component Id="isoApplet.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\isoApplet.profile"/>
                </Component>
                <Component Id="gids.profile" Guid="*" Win64="$(var.Win64YesNo)">
                  <File Source="$(var.SOURCE_DIR)\src\pkcs15init\gids.profile"/>
                </Component>
              </Directory>
            <?endif ?>
          </Directory>
        </Directory>
      </Directory>
      <Directory Id="ProgramMenuFolder" Name="Programs">
        <Directory Id="ProgramMenuDir" Name="OpenSC Project">
          <Component Id="ProgramMenuDir" Guid="*">
            <util:InternetShortcut Id="OnlineDocumentationShortcut" Name="OpenSC wiki" Target="https://github.com/OpenSC/OpenSC/wiki"/>
            <RemoveFolder Id="ProgramMenuDir" On="uninstall"/>
            <RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
          </Component>
        </Directory>
      </Directory>
    </Directory>
    <!-- Set up the features  -->
    <Feature Id="Complete" Level="1" Title="OpenSC software suite" Display="expand">
      <Feature Id="OpenSC_core" Level="1" Title="OpenSC core library" Description="Core DLL and configuration file used by all other components." Absent="disallow">
        <ComponentRef Id="opensc.dll"/>
        <?ifdef zlib ?>
          <ComponentRef Id="zlib1.dll"/>
        <?endif ?>
        <ComponentRef Id="opensc.conf"/>
        <?ifdef OpenSSL ?>
          <ComponentRef Id="smm_local.dll"/>
        <?endif ?>
      </Feature>
      <Feature Id="OpenSC_pkcs11" Level="1" Title="OpenSC PKCS#11 module" Description="PKCS#11 module usd by most open source and cross-platform software (like Firefox, Putty, TrueCrypt, OpenVPN etc)" TypicalDefault="install">
        <ComponentRef Id="opensc_pkcs11.dll"/>
        <ComponentRef Id="onepin_opensc_pkcs11.dll"/>
      </Feature>
      <Feature Id="PKCS11_spy" Level="1" Title="PKCS#11 Spy module" Description="Module of the PKCS#11 spy." Absent="allow">
        <ComponentRef Id="pkcs11_spy.dll"/>
      </Feature>
      <Feature Id="OpenSC_minidriver" Level="1" Title="OpenSC minidriver" Description="OpenSC minidriver for using smart cards with native Windows CSP applications (like Internet Explorer)" Absent="allow">
        <ComponentRef Id="opensc_minidriver.dll"/>
        <ComponentRef Id="openscBaseCSP"/>
      </Feature>
      <!-- Tools and profiles are for personalization -->
      <Feature Id="OpenSC_tools" Level="1" Title="Tools and profiles" Description="Tools for debugging and personalization. Includes profiles needed for running pkcs15-init.exe">
        <ComponentRef Id="opensc_explorer.exe"/>
        <ComponentRef Id="opensc_tool.exe"/>
        <ComponentRef Id="pkcs11_tool.exe"/>
        <ComponentRef Id="cardos_tool.exe"/>
        <ComponentRef Id="eidenv.exe"/>
        <ComponentRef Id="pkcs15_tool.exe"/>
        <ComponentRef Id="pkcs15_crypt.exe"/>
        <ComponentRef Id="openpgp_tool.exe"/>
        <ComponentRef Id="iasecc_tool.exe"/>
        <?ifdef OpenSSL ?>
          <ComponentRef Id="cryptoflex_tool.exe"/>
          <ComponentRef Id="pkcs15_init.exe"/>
          <ComponentRef Id="netkey_tool.exe"/>
          <ComponentRef Id="piv_tool.exe"/>
          <ComponentRef Id="westcos_tool.exe"/>
          <ComponentRef Id="sc_hsm_tool.exe"/>
          <ComponentRef Id="dnie_tool.exe"/>
          <ComponentRef Id="gids_tool.exe"/>
          <ComponentRef Id="cyberflex.profile"/>
          <ComponentRef Id="flex.profile"/>
          <ComponentRef Id="gpk.profile"/>
          <ComponentRef Id="miocos.profile"/>
          <ComponentRef Id="incrypto34.profile"/>
          <ComponentRef Id="jcop.profile"/>
          <ComponentRef Id="muscle.profile"/>
          <ComponentRef Id="pkcs15.profile"/>
          <ComponentRef Id="asepcos.profile"/>
          <ComponentRef Id="cardos.profile"/>
          <ComponentRef Id="entersafe.profile"/>
          <ComponentRef Id="epass2003.profile"/>
          <ComponentRef Id="myeid.profile"/>
          <ComponentRef Id="setcos.profile"/>
          <ComponentRef Id="starcos.profile"/>
          <ComponentRef Id="westcos.profile"/>
          <ComponentRef Id="oberthur.profile"/>
          <ComponentRef Id="authentic.profile"/>
          <ComponentRef Id="rutoken.profile"/>
          <ComponentRef Id="rutoken_ecp.profile"/>
          <ComponentRef Id="ias_adele_admin1.profile"/>
          <ComponentRef Id="ias_adele_admin2.profile"/>
          <ComponentRef Id="ias_adele_common.profile"/>
          <ComponentRef Id="iasecc_admin_eid.profile"/>
          <ComponentRef Id="iasecc_generic_oberthur.profile"/>
          <ComponentRef Id="iasecc_generic_pki.profile"/>
          <ComponentRef Id="iasecc.profile"/>
          <ComponentRef Id="schsm.profile"/>
          <ComponentRef Id="openpgp.profile"/>
          <ComponentRef Id="isoApplet.profile"/>
          <ComponentRef Id="gids.profile"/>
        <?endif ?>
      </Feature>
      <Feature Id="OpenSC_menu" Level="1" Title="Start menu entries" Description="Start menu entries: link to documentation">
        <ComponentRef Id="ProgramMenuDir"/>
      </Feature>
    </Feature>
    <UIRef Id="WixUI_Mondo"/>
    <UIRef Id="WixUI_ErrorProgressText"/>

    <InstallExecuteSequence>
      <!-- UnInstall sequence -->
      <!-- clean the smart card registration (only at uninstall of the feature OpenSC_minidriver) -->
      <Custom Action='RemoveSmartCardConfiguration' Before="RemoveFiles">
        <![CDATA[(NOT UPGRADINGPRODUCTCODE) AND (&OpenSC_minidriver=2) AND (!OpenSC_minidriver=3) ]]>
      </Custom>

      <!-- Install sequence -->
      <!-- add the smart card registration (only at install of the feature OpenSC_minidriver) -->
      <Custom Action='AddSmartCardConfiguration' Before="RemoveSmartCardConfiguration">
        <![CDATA[ (NOT (REMOVE="ALL")) AND (NOT UPGRADINGPRODUCTCODE) AND (&OpenSC_minidriver=3) AND (!OpenSC_minidriver=2) ]]>
      </Custom>

    </InstallExecuteSequence>
  </Product>
</Wix>
