"""WizardKit: Config - Launchers (Windows)"""
# vim: sts=2 sw=2 ts=2

LAUNCHERS = {
  r'': { # Root Dir
    '0) Export BitLocker': {
      'L_TYPE': 'PyScript',
      'L_PATH': 'Scripts',
      'L_ITEM': 'export_bitlocker.py',
      'L_ELEV': 'True',
      },
    '1) Auto Repairs': {
      'L_TYPE': 'PyScript',
      'L_PATH': 'Scripts',
      'L_ITEM': 'auto_repairs.py',
      'L_ELEV': 'True',
      },
    '2) Windows Updates': {
      'L_TYPE': 'Executable',
      'L_PATH': r'%SystemRoot%\System32',
      'L_ITEM': 'control.exe',
      'L_ARGS': 'update',
      },
    '3) Snappy Driver Installer Origin': {
      'L_TYPE': 'PyScript',
      'L_PATH': 'Scripts',
      'L_ITEM': 'launch_sdio.py',
      'L_ELEV': 'True',
      },
    '4) Auto Setup': {
      'L_TYPE': 'PyScript',
      'L_PATH': 'Scripts',
      'L_ITEM': 'auto_setup.py',
      'L_ELEV': 'True',
      },
    },
  r'Tools': {
    'AIDA64': {
      'L_TYPE': 'Executable',
      'L_PATH': 'AIDA64',
      'L_ITEM': 'aida64.exe',
      },
    'Autoruns (with VirusTotal Scan)': {
      'L_TYPE': 'Executable',
      'L_PATH': 'Sysinternals',
      'L_ITEM': 'Autoruns.exe',
      'L_ARGS': '-e',
      'Extra Code': [
        r'reg add HKCU\Software\Sysinternals\AutoRuns /v checkvirustotal /t REG_DWORD /d 1 /f >nul',
        r'reg add HKCU\Software\Sysinternals\AutoRuns /v EulaAccepted /t REG_DWORD /d 1 /f >nul',
        r'reg add HKCU\Software\Sysinternals\AutoRuns /v shownomicrosoft /t REG_DWORD /d 1 /f >nul',
        r'reg add HKCU\Software\Sysinternals\AutoRuns /v shownowindows /t REG_DWORD /d 1 /f >nul',
        r'reg add HKCU\Software\Sysinternals\AutoRuns /v showonlyvirustotal /t REG_DWORD /d 1 /f >nul',
        r'reg add HKCU\Software\Sysinternals\AutoRuns /v submitvirustotal /t REG_DWORD /d 0 /f >nul',
        r'reg add HKCU\Software\Sysinternals\AutoRuns /v verifysignatures /t REG_DWORD /d 1 /f >nul',
        r'reg add HKCU\Software\Sysinternals\AutoRuns\SigCheck /v EulaAccepted /t REG_DWORD /d 1 /f >nul',
        r'reg add HKCU\Software\Sysinternals\AutoRuns\Streams /v EulaAccepted /t REG_DWORD /d 1 /f >nul',
        r'reg add HKCU\Software\Sysinternals\AutoRuns\VirusTotal /v VirusTotalTermsAccepted /t REG_DWORD /d 1 /f >nul',
        ],
      },
    'BleachBit': {
      'L_TYPE': 'Executable',
      'L_PATH': 'BleachBit',
      'L_ITEM': 'bleachbit.exe',
      },
    'BlueScreenView': {
      'L_TYPE': 'Executable',
      'L_PATH': 'BlueScreenView',
      'L_ITEM': 'BlueScreenView.exe',
      },
    'ConEmu (as ADMIN)': {
      'L_TYPE': 'Executable',
      'L_PATH': 'ConEmu',
      'L_ITEM': 'ConEmu.exe',
      'L_ELEV': 'True',
      },
    'ConEmu': {
      'L_TYPE': 'Executable',
      'L_PATH': 'ConEmu',
      'L_ITEM': 'ConEmu.exe',
      },
    'Debug Console (Command Prompt)': {
      'L_TYPE': 'Executable',
      'L_PATH': 'ConEmu',
      'L_ITEM': 'ConEmu.exe',
      'L_ARGS': r'-Dir %bin%\Scripts',
      'L_ELEV': 'True',
      },
    'Debug Console (Python)': {
      'L_TYPE': 'Executable',
      'L_PATH': 'ConEmu',
      'L_ITEM': 'ConEmu.exe',
      'L_ARGS': r'-Dir %bin%\Scripts -Run ..\Python\x%ARCH%\python.exe -i embedded_python_env.py',
      'L_ELEV': 'True',
      'Extra Code': [
        'set ARCH=32',
        'if /i "%PROCESSOR_ARCHITECTURE%" == "AMD64" set "ARCH=64"',
        ],
      },
    'ERUNT': {
      'L_TYPE': 'Executable',
      'L_PATH': 'erunt',
      'L_ITEM': 'ERUNT.EXE',
      'L_ARGS': r'%client_dir%\Backups\Registry\%iso_date% sysreg curuser otherusers',
      'L_ELEV': 'True',
      'Extra Code': [
        r'call "%bin%\Scripts\init_client_dir.cmd" /Logs',
        ],
      },
    'Everything': {
      'L_TYPE': 'Executable',
      'L_PATH': 'Everything',
      'L_ITEM': 'Everything.exe',
      'L_ARGS': '-nodb',
      'L_ELEV': 'True',
      },
    'FastCopy (as ADMIN)': {
      'L_TYPE': 'Executable',
      'L_PATH': 'FastCopy',
      'L_ITEM': 'FastCopy.exe',
      'L_ARGS': (
        r' /logfile=%log_dir%\Tools\FastCopy.log'
        r' /acl'
        r' /cmd=noexist_only'
        r' /skip_empty_dir'
        r' /linkdest'
        r' /exclude='
          r'$RECYCLE.BIN;'
          r'$Recycle.Bin;'
          r'.AppleDB;'
          r'.AppleDesktop;'
          r'.AppleDouble;'
          r'.com.apple.timemachine.supported;'
          r'.dbfseventsd;'
          r'.DocumentRevisions-V100*;'
          r'.DS_Store;'
          r'.fseventsd;'
          r'.PKInstallSandboxManager;'
          r'.Spotlight*;'
          r'.SymAV*;'
          r'.symSchedScanLockxz;'
          r'.TemporaryItems;'
          r'.Trash*;'
          r'.vol;'
          r'.VolumeIcon.icns;'
          r'desktop.ini;'
          r'Desktop?DB;'
          r'Desktop?DF;'
          r'hiberfil.sys;'
          r'lost+found;'
          r'Network?Trash?Folder;'
          r'pagefile.sys;'
          r'Recycled;'
          r'RECYCLER;'
          r'System?Volume?Information;'
          r'Temporary?Items;'
          r'Thumbs.db'
        r' /to=%client_dir%\Transfer_%iso_date%\ '
        ),
      'L_ELEV': 'True',
      'Extra Code': [
        r'call "%bin%\Scripts\init_client_dir.cmd" /Logs /Transfer',
        ],
      },
    'FastCopy': {
      'L_TYPE': 'Executable',
      'L_PATH': 'FastCopy',
      'L_ITEM': 'FastCopy.exe',
      'L_ARGS': (
        r' /logfile=%log_dir%\Tools\FastCopy.log'
        r' /acl'
        r' /cmd=noexist_only'
        r' /skip_empty_dir'
        r' /linkdest'
        r' /exclude='
          r'$RECYCLE.BIN;'
          r'$Recycle.Bin;'
          r'.AppleDB;'
          r'.AppleDesktop;'
          r'.AppleDouble;'
          r'.com.apple.timemachine.supported;'
          r'.dbfseventsd;'
          r'.DocumentRevisions-V100*;'
          r'.DS_Store;'
          r'.fseventsd;'
          r'.PKInstallSandboxManager;'
          r'.Spotlight*;'
          r'.SymAV*;'
          r'.symSchedScanLockxz;'
          r'.TemporaryItems;'
          r'.Trash*;'
          r'.vol;'
          r'.VolumeIcon.icns;'
          r'desktop.ini;'
          r'Desktop?DB;'
          r'Desktop?DF;'
          r'hiberfil.sys;'
          r'lost+found;'
          r'Network?Trash?Folder;'
          r'pagefile.sys;'
          r'Recycled;'
          r'RECYCLER;'
          r'System?Volume?Information;'
          r'Temporary?Items;'
          r'Thumbs.db'
        r' /to=%client_dir%\Transfer_%iso_date%\ '
        ),
      'Extra Code': [
        r'call "%bin%\Scripts\init_client_dir.cmd" /Logs /Transfer',
        ],
      },
    'FurMark': {
      'L_TYPE': 'Executable',
      'L_PATH': 'FurMark',
      'L_ITEM': 'FurMark.exe',
      },
    'HWiNFO': {
      'L_TYPE': 'Executable',
      'L_PATH': 'HWiNFO',
      'L_ITEM': 'HWiNFO.exe',
      'Extra Code': [
        r'for %%a in (32 64) do (',
        r'  copy /y "%bin%\HWiNFO\general.ini" "%bin%\HWiNFO\HWiNFO%%a.ini"',
        r'  (echo SensorsOnly=0)>>"%bin%\HWiNFO\HWiNFO%%a.ini"',
        r'  (echo SummaryOnly=0)>>"%bin%\HWiNFO\HWiNFO%%a.ini"',
        r')',
        ],
      },
    'HWiNFO (Sensors)': {
      'L_TYPE': 'Executable',
      'L_PATH': 'HWiNFO',
      'L_ITEM': 'HWiNFO.exe',
      'Extra Code': [
        r'for %%a in (32 64) do (',
        r'  copy /y "%bin%\HWiNFO\general.ini" "%bin%\HWiNFO\HWiNFO%%a.ini"',
        r'  (echo SensorsOnly=1)>>"%bin%\HWiNFO\HWiNFO%%a.ini"',
        r'  (echo SummaryOnly=0)>>"%bin%\HWiNFO\HWiNFO%%a.ini"',
        r')',
        ],
      },
    'Notepad++': {
      'L_TYPE': 'Executable',
      'L_PATH': 'notepadplusplus',
      'L_ITEM': 'notepadplusplus.exe',
      },
    'PuTTY': {
      'L_TYPE': 'Executable',
      'L_PATH': 'PuTTY',
      'L_ITEM': 'PUTTY.EXE',
      },
    'UninstallView': {
      'L_TYPE': 'Executable',
      'L_PATH': 'UninstallView',
      'L_ITEM': 'UninstallView.exe',
      'L_ELEV': 'True',
      },
    'WizTree': {
      'L_TYPE': 'Executable',
      'L_PATH': 'WizTree',
      'L_ITEM': 'WizTree.exe',
      'L_ELEV': 'True',
      },
    'XMPlay': {
      'L_TYPE': 'Executable',
      'L_PATH': 'XMPlay',
      'L_ITEM': 'xmplay.exe',
      'L_ARGS': r'"%bin%\XMPlay\music.7z"',
      },
    },
  }


if __name__ == '__main__':
  print("This file is not meant to be called directly.")
