diff --git a/.bin/Scripts/Launch.cmd b/.bin/Scripts/Launch.cmd index 41678881..42daa84e 100644 --- a/.bin/Scripts/Launch.cmd +++ b/.bin/Scripts/Launch.cmd @@ -62,13 +62,15 @@ if not defined L_ITEM (goto Usage) rem Assume if not "True" then False (i.e. undefine variable) if /i not "%L_ELEV%" == "True" (set "L_ELEV=") if /i not "%L_NCMD%" == "True" (set "L_NCMD=") +if /i not "%L__CLI%" == "True" (set "L__CLI=") :RelaunchInConEmu set RELOAD_IN_CONEMU=True -if defined ConEmuBuild set "RELOAD_IN_CONEMU=" -if defined L_NCMD set "RELOAD_IN_CONEMU=" -if "%L_TYPE%" == "PSScript" set "RELOAD_IN_CONEMU=" -if "%L_TYPE%" == "PyScript" set "RELOAD_IN_CONEMU=" +if defined ConEmuBuild set "RELOAD_IN_CONEMU=" +if defined L_NCMD set "RELOAD_IN_CONEMU=" +if "%L_TYPE%" == "Executable" set "RELOAD_IN_CONEMU=" +if "%L_TYPE%" == "PSScript" set "RELOAD_IN_CONEMU=" +if "%L_TYPE%" == "PyScript" set "RELOAD_IN_CONEMU=" if defined RELOAD_IN_CONEMU ( set "con_args=-new_console:n" @@ -80,16 +82,15 @@ if defined RELOAD_IN_CONEMU ( :CheckLaunchType rem Jump to the selected launch type or show usage -if /i "%L_TYPE%" == "Console" (goto LaunchConsole) +if /i "%L_TYPE%" == "Executable" (goto LaunchExecutable) if /i "%L_TYPE%" == "Folder" (goto LaunchFolder) if /i "%L_TYPE%" == "Office" (goto LaunchOffice) -if /i "%L_TYPE%" == "QuickBooks" (goto LaunchQuickBooksSetup) -if /i "%L_TYPE%" == "Program" (goto LaunchProgram) if /i "%L_TYPE%" == "PSScript" (goto LaunchPSScript) if /i "%L_TYPE%" == "PyScript" (goto LaunchPyScript) +if /i "%L_TYPE%" == "QuickBooks" (goto LaunchQuickBooksSetup) goto Usage -:LaunchConsole +:LaunchExecutable rem Prep call :ExtractOrFindPath || goto ErrorProgramNotFound @@ -100,15 +101,16 @@ if %ARCH% equ 64 ( ) if not exist "%prog%" goto ErrorProgramNotFound -rem Run program +rem Run popd && pushd "%_path%" -if defined L_NCMD ( - goto LaunchConsoleNative +if defined L__CLI goto LaunchExecutableCLI +if defined L_ELEV ( + goto LaunchExecutableElev ) else ( - goto LaunchConsoleConEmu + goto LaunchExecutableUser ) -:LaunchConsoleConEmu +:LaunchExecutableCLI rem Prep set "con_args=-new_console:n" if defined DEBUG (set "con_args=%con_args% -new_console:c") @@ -118,7 +120,21 @@ rem Run start "" "%CON%" -run "%prog%" %L_ARGS% %con_args% || goto ErrorUnknown goto Exit -:LaunchConsoleNative +:LaunchExecutableElev +rem Prep +call :DeQuote prog +call :DeQuote L_ARGS + +rem Create VB script +mkdir "%bin%\tmp" 2>nul +echo Set UAC = CreateObject^("Shell.Application"^) > "%bin%\tmp\Elevate.vbs" +echo UAC.ShellExecute "%prog%", "%L_ARGS%", "", "runas", 1 >> "%bin%\tmp\Elevate.vbs" + +rem Run +"%systemroot%\System32\cscript.exe" //nologo "%bin%\tmp\Elevate.vbs" || goto ErrorUnknown +goto Exit + +:LaunchExecutableUser rem Run start "" "%prog%" %L_ARGS% || goto ErrorUnknown goto Exit @@ -197,44 +213,6 @@ if exist "%dest%\%product_name%\setup.exe" ( ) goto Exit -:LaunchProgram -rem Prep -call :ExtractOrFindPath || goto ErrorProgramNotFound - -rem Check for 64-bit prog (if running on 64-bit system) -set "prog=%_path%\%L_ITEM%" -if %ARCH% equ 64 ( - if exist "%_path%\%L_ITEM:.=64.%" set "prog=%_path%\%L_ITEM:.=64.%" -) -if not exist "%prog%" goto ErrorProgramNotFound - -rem Run -popd && pushd "%_path%" -if defined L_ELEV ( - goto LaunchProgramElev -) else ( - goto LaunchProgramUser -) - -:LaunchProgramElev -rem Prep -call :DeQuote prog -call :DeQuote L_ARGS - -rem Create VB script -mkdir "%bin%\tmp" 2>nul -echo Set UAC = CreateObject^("Shell.Application"^) > "%bin%\tmp\Elevate.vbs" -echo UAC.ShellExecute "%prog%", "%L_ARGS%", "", "runas", 1 >> "%bin%\tmp\Elevate.vbs" - -rem Run -"%systemroot%\System32\cscript.exe" //nologo "%bin%\tmp\Elevate.vbs" || goto ErrorUnknown -goto Exit - -:LaunchProgramUser -rem Run -start "" "%prog%" %L_ARGS% || goto ErrorUnknown -goto Exit - :LaunchPSScript rem Prep call :ExtractOrFindPath || goto ErrorProgramNotFound @@ -482,10 +460,10 @@ goto Abort :Abort rem Handle color theme for both the native console and ConEmu -if defined L_NCMD ( - color 4e -) else ( +if defined ConEmuBuild ( color c4 +) else ( + color 4e ) echo Aborted. echo. @@ -493,8 +471,10 @@ echo DETAILS: L_TYPE: %L_TYPE% echo. L_PATH: %L_PATH% echo. L_ITEM: %L_ITEM% echo. L_ARGS: %L_ARGS% +echo. L_7ZIP: %L_7ZIP% echo. L_ELEV: %L_ELEV% echo. L_NCMD: %L_NCMD% +echo. L__CLI: %L__CLI% echo. CON: %CON% echo. DEBUG: %DEBUG% echo. PYTHON: %PYTHON% diff --git a/.bin/Scripts/Launcher_Template.cmd b/.bin/Scripts/Launcher_Template.cmd index fed7542e..d5b68d9b 100644 --- a/.bin/Scripts/Launcher_Template.cmd +++ b/.bin/Scripts/Launcher_Template.cmd @@ -22,6 +22,7 @@ set L_TYPE= set L_PATH= set L_ITEM= set L_ARGS= +set L__CLI= set L_7ZIP= set L_ELEV= set L_NCMD= diff --git a/.bin/Scripts/functions/update.py b/.bin/Scripts/functions/update.py index 388611c6..16f2d8f0 100644 --- a/.bin/Scripts/functions/update.py +++ b/.bin/Scripts/functions/update.py @@ -180,7 +180,6 @@ def scan_for_net_installers(server, family_name, min_year): 'L_TYPE': family_name, 'L_PATH': year.name, 'L_ITEM': version.name, - 'L_CHCK': 'True', } umount_network_share(server) diff --git a/.bin/Scripts/settings/launchers.py b/.bin/Scripts/settings/launchers.py index 946ce5b4..46e8c9d3 100644 --- a/.bin/Scripts/settings/launchers.py +++ b/.bin/Scripts/settings/launchers.py @@ -40,28 +40,29 @@ LAUNCHERS = { }, r'Data Recovery': { 'PhotoRec (CLI)': { - 'L_TYPE': 'Console', + 'L_TYPE': 'Executable', 'L_PATH': 'TestDisk', 'L_ITEM': 'photorec_win.exe', 'L_ELEV': 'True', + 'L__CLI': 'True', }, 'PhotoRec': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'TestDisk', 'L_ITEM': 'qphotorec_win.exe', 'L_ELEV': 'True', - 'L_NCMD': 'True', }, 'TestDisk': { - 'L_TYPE': 'Console', + 'L_TYPE': 'Executable', 'L_PATH': 'TestDisk', 'L_ITEM': 'testdisk_win.exe', 'L_ELEV': 'True', + 'L__CLI': 'True', }, }, r'Data Transfers': { 'FastCopy (as ADMIN)': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'FastCopy', 'L_ITEM': 'FastCopy.exe', 'L_ARGS': ( @@ -104,13 +105,12 @@ LAUNCHERS = { r' /to=%client_dir%\Transfer_%iso_date%\ ' ), 'L_ELEV': 'True', - 'L_NCMD': 'True', 'Extra Code': [ r'call "%bin%\Scripts\init_client_dir.cmd" /Info /Transfer', ], }, 'FastCopy': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'FastCopy', 'L_ITEM': 'FastCopy.exe', 'L_ARGS': ( @@ -152,13 +152,12 @@ LAUNCHERS = { r'Thumbs.db' r' /to=%client_dir%\Transfer_%iso_date%\ ' ), - 'L_NCMD': 'True', 'Extra Code': [ r'call "%bin%\Scripts\init_client_dir.cmd" /Info /Transfer', ], }, 'KVRT': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'KVRT', 'L_ITEM': 'KVRT.exe', 'L_ARGS': ( @@ -168,7 +167,6 @@ LAUNCHERS = { r' -dontcryptsupportinfo' r' -fixednames' ), - 'L_NCMD': 'True', 'Extra Code': [ r'call "%bin%\Scripts\init_client_dir.cmd" /Quarantine', r'set "q_dir=%client_dir%\Quarantine\KVRT"', @@ -188,27 +186,24 @@ LAUNCHERS = { 'L_ELEV': 'True', }, 'XYplorer (as ADMIN)': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'XYplorerFree', 'L_ITEM': 'XYplorerFree.exe', 'L_ARGS': r'/exp /win=max %userprofile%', 'L_ELEV': 'True', - 'L_NCMD': 'True', }, 'XYplorer': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'XYplorerFree', 'L_ITEM': 'XYplorerFree.exe', 'L_ARGS': r'/exp /win=max %userprofile%', - 'L_NCMD': 'True', }, }, r'Diagnostics': { 'HWiNFO': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'HWiNFO', 'L_ITEM': 'HWiNFO.exe', - 'L_NCMD': 'True', 'Extra Code': [ r'for %%a in (32 64) do (', r' copy /y "%bin%\HWiNFO\general.ini" "%bin%\HWiNFO\HWiNFO%%a.ini"', @@ -218,11 +213,10 @@ LAUNCHERS = { ], }, 'ProduKey': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'ProduKey', 'L_ITEM': 'ProduKey.exe', 'L_ELEV': 'True', - 'L_NCMD': 'True', 'Extra Code': [ r'if exist "%bin%\ProduKey" (', r' del "%bin%\ProduKey\ProduKey.cfg" 2>nul', @@ -233,17 +227,15 @@ LAUNCHERS = { }, r'Diagnostics\Extras': { 'AIDA64': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'AIDA64', 'L_ITEM': 'aida64.exe', - 'L_NCMD': 'True', }, 'Autoruns (with VirusTotal Scan)': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'Autoruns', 'L_ITEM': 'Autoruns.exe', 'L_ARGS': '-e', - 'L_NCMD': 'True', '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', @@ -258,43 +250,38 @@ LAUNCHERS = { ], }, 'BleachBit': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'BleachBit', 'L_ITEM': 'bleachbit.exe', - 'L_NCMD': 'True', }, 'BlueScreenView': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'BlueScreenView', 'L_ITEM': 'BlueScreenView.exe', 'L_ELEV': 'True', - 'L_NCMD': 'True', }, 'ERUNT': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'erunt', 'L_ITEM': 'ERUNT.EXE', 'L_ARGS': '%log_dir%\Registry sysreg curuser otherusers', 'L_ELEV': 'True', - 'L_NCMD': 'True', 'Extra Code': [ r'call "%bin%\Scripts\init_client_dir.cmd" /Info', ], }, 'HitmanPro': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'HitmanPro', 'L_ITEM': 'HitmanPro.exe', - 'L_NCMD': 'True', 'Extra Code': [ r'call "%bin%\Scripts\init_client_dir.cmd" /Info', ], }, 'HWiNFO (Sensors)': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'HWiNFO', 'L_ITEM': 'HWiNFO.exe', - 'L_NCMD': 'True', 'Extra Code': [ r'for %%a in (32 64) do (', r' copy /y "%bin%\HWiNFO\general.ini" "%bin%\HWiNFO\HWiNFO%%a.ini"', @@ -306,11 +293,10 @@ LAUNCHERS = { }, r'Drivers': { 'Intel RST (Current Release)': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': '_Drivers\Intel RST', 'L_ITEM': 'SetupRST_15.8.exe', 'L_7ZIP': 'SetupRST_15.8.exe', - 'L_NCMD': 'True', }, 'Intel RST (Previous Releases)': { 'L_TYPE': 'Folder', @@ -319,30 +305,26 @@ LAUNCHERS = { 'L_NCMD': 'True', }, 'Intel SSD Toolbox': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': r'_Drivers\Intel SSD Toolbox', 'L_ITEM': 'Intel SSD Toolbox.exe', - 'L_NCMD': 'True', }, 'Samsing Magician': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': r'_Drivers\Samsung Magician', 'L_ITEM': 'Samsung Magician.exe', - 'L_NCMD': 'True', }, 'Snappy Driver Installer Origin': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': '_Drivers\SDIO', 'L_ITEM': 'SDIO.exe', - 'L_NCMD': 'True', }, }, r'Drivers\Extras': { 'Acer': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'HWiNFO', 'L_ITEM': 'HWiNFO.exe', - 'L_NCMD': 'True', 'Extra Code': [ r'for %%a in (32 64) do (', r' copy /y "%bin%\HWiNFO\general.ini" "%bin%\HWiNFO\HWiNFO%%a.ini"', @@ -353,10 +335,9 @@ LAUNCHERS = { ], }, 'Lenovo': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'HWiNFO', 'L_ITEM': 'HWiNFO.exe', - 'L_NCMD': 'True', 'Extra Code': [ r'for %%a in (32 64) do (', r' copy /y "%bin%\HWiNFO\general.ini" "%bin%\HWiNFO\HWiNFO%%a.ini"', @@ -367,10 +348,9 @@ LAUNCHERS = { ], }, 'Toshiba': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'HWiNFO', 'L_ITEM': 'HWiNFO.exe', - 'L_NCMD': 'True', 'Extra Code': [ r'for %%a in (32 64) do (', r' copy /y "%bin%\HWiNFO\general.ini" "%bin%\HWiNFO\HWiNFO%%a.ini"', @@ -394,21 +374,25 @@ LAUNCHERS = { 'L_TYPE': 'Office', 'L_PATH': '2013', 'L_ITEM': 'hb_32.xml', + 'L_NCMD': 'True', }, 'Home and Business 2013 (x64)': { 'L_TYPE': 'Office', 'L_PATH': '2013', 'L_ITEM': 'hb_64.xml', + 'L_NCMD': 'True', }, 'Home and Student 2013 (x32)': { 'L_TYPE': 'Office', 'L_PATH': '2013', 'L_ITEM': 'hs_32.xml', + 'L_NCMD': 'True', }, 'Home and Student 2013 (x64)': { 'L_TYPE': 'Office', 'L_PATH': '2013', 'L_ITEM': 'hs_64.xml', + 'L_NCMD': 'True', }, }, r'Installers\Extras\Office\2016': { @@ -416,73 +400,73 @@ LAUNCHERS = { 'L_TYPE': 'Office', 'L_PATH': '2016', 'L_ITEM': 'hb_32.xml', + 'L_NCMD': 'True', }, 'Home and Business 2016 (x64)': { 'L_TYPE': 'Office', 'L_PATH': '2016', 'L_ITEM': 'hb_64.xml', + 'L_NCMD': 'True', }, 'Home and Student 2016 (x32)': { 'L_TYPE': 'Office', 'L_PATH': '2016', 'L_ITEM': 'hs_32.xml', + 'L_NCMD': 'True', }, 'Home and Student 2016 (x64)': { 'L_TYPE': 'Office', 'L_PATH': '2016', 'L_ITEM': 'hs_64.xml', + 'L_NCMD': 'True', }, 'Office 365 2016 (x32)': { 'L_TYPE': 'Office', 'L_PATH': '2016', 'L_ITEM': '365_32.xml', + 'L_NCMD': 'True', }, 'Office 365 2016 (x64)': { 'L_TYPE': 'Office', 'L_PATH': '2016', 'L_ITEM': '365_64.xml', + 'L_NCMD': 'True', }, }, r'Misc': { 'ConEmu (as ADMIN)': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'ConEmu', 'L_ITEM': 'ConEmu.exe', 'L_ELEV': 'True', - 'L_NCMD': 'True', }, 'ConEmu': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'ConEmu', 'L_ITEM': 'ConEmu.exe', - 'L_NCMD': 'True', }, 'Everything': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'Everything', 'L_ITEM': 'Everything.exe', 'L_ARGS': '-nodb', 'L_ELEV': 'True', - 'L_NCMD': 'True', }, 'Notepad++': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'notepadplusplus', 'L_ITEM': 'notepadplusplus.exe', - 'L_NCMD': 'True', }, 'PuTTY': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'PuTTY', 'L_ITEM': 'PUTTY.EXE', - 'L_NCMD': 'True', }, 'TreeSizeFree': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'TreeSizeFree', 'L_ITEM': 'TreeSizeFree.exe', 'L_ELEV': 'True', - 'L_NCMD': 'True', }, 'Update Kit': { 'L_TYPE': 'PyScript', @@ -490,26 +474,23 @@ LAUNCHERS = { 'L_ITEM': 'update_kit.py', }, 'XMPlay': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'XMPlay', 'L_ITEM': 'xmplay.exe', 'L_ARGS': '"%bin%\XMPlay\music.7z"', - 'L_NCMD': 'True', }, }, r'Repairs': { 'AdwCleaner': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'AdwCleaner', 'L_ITEM': 'AdwCleaner.exe', - 'L_NCMD': 'True', }, 'Autoruns': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'Autoruns', 'L_ITEM': 'Autoruns.exe', 'L_ARGS': '-e', - 'L_NCMD': 'True', 'Extra Code': [ r'reg add HKCU\Software\Sysinternals\AutoRuns /v checkvirustotal /t REG_DWORD /d 0 /f >nul', r'reg add HKCU\Software\Sysinternals\AutoRuns /v EulaAccepted /t REG_DWORD /d 1 /f >nul', @@ -534,10 +515,9 @@ LAUNCHERS = { 'L_PATH': 'Scripts', 'L_ITEM': 'dism.py', 'L_ELEV': 'True', - 'L_NCMD': 'TRUE', }, 'KVRT': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'KVRT', 'L_ITEM': 'KVRT.exe', 'L_ARGS': ( @@ -547,7 +527,6 @@ LAUNCHERS = { r' -dontcryptsupportinfo' r' -fixednames' ), - 'L_NCMD': 'True', 'Extra Code': [ r'call "%bin%\Scripts\init_client_dir.cmd" /Quarantine', r'set "q_dir=%client_dir%\Quarantine\KVRT"', @@ -555,10 +534,9 @@ LAUNCHERS = { ], }, 'RKill': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'RKill', 'L_ITEM': 'RKill.exe', - 'L_NCMD': 'True', 'Extra Code': [ r'call "%bin%\Scripts\init_client_dir.cmd" /Info', ], @@ -568,10 +546,9 @@ LAUNCHERS = { 'L_PATH': 'Scripts', 'L_ITEM': 'sfc_scan.py', 'L_ELEV': 'True', - 'L_NCMD': 'True', }, 'TDSSKiller': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'TDSSKiller', 'L_ITEM': 'TDSSKiller.exe', 'L_ARGS': ( @@ -582,7 +559,6 @@ LAUNCHERS = { r' -dcexact' r' -tdlfs' ), - 'L_NCMD': 'True', 'Extra Code': [ r'call "%bin%\Scripts\init_client_dir.cmd" /Quarantine', r'set "q_dir=%client_dir%\Quarantine\TDSSKiller"', @@ -592,10 +568,9 @@ LAUNCHERS = { }, r'Uninstallers': { 'IObit Uninstaller': { - 'L_TYPE': 'Program', + 'L_TYPE': 'Executable', 'L_PATH': 'IObitUninstallerPortable', 'L_ITEM': 'IObitUninstallerPortable.exe', - 'L_NCMD': 'True', }, }, }