Commit graph

181 commits

Author SHA1 Message Date
Alan Mason
5d588f3563 PowerShell cleanup
* Show download progress again
  * Done by leaving $progressPreference set to system default
* If there are errors during download, then bail before extracting data
* Moving to a new style guide for PowerShell scripts
  * Using this: https://poshcode.gitbooks.io/powershell-practice-and-style/
  * Encoding set to UTF-8 BOM instead of UTF-8
2017-11-27 22:58:17 -08:00
Alan Mason
fa950f3565 Dropped support for PowerShell 6.0 on Windows 7
The build script will now abort and display a warning in this scenario
2017-11-27 13:32:00 -08:00
Alan Mason
e7dd6a1b54 PowerShell 6 on Win7 failed to build
Start-Process "" -Wait doesn't wait preventing proper extraction of tools.
See these issues:
* https://github.com/PowerShell/PowerShell/issues/2091  (Main issue)
* https://github.com/PowerShell/PowerShell/issues/3747
* https://github.com/PowerShell/PowerShell/pull/4463
2017-11-27 13:29:06 -08:00
Alan Mason
0c5912d345 Enable debug mode in PowerShell via %DEBUG% 2017-11-27 11:23:27 -08:00
Alan Mason
546dc77f03 v1.0.1 - WizardHat 2017-11-25 16:33:53 -08:00
Alan Mason
7a1616c8a7 Updated build_kit.ps1 2017-11-25 16:32:07 -08:00
Alan Mason
537973fa90 v1.0.0 - WizardHat
## Major Update ##

* Build Kit.cmd
  * This script will build a fully functional kit requiring only PowerShell 3.0+ be installed prior.
* All launchers are now generated during builds and updates (by update_kit.py)
  * This allows for a much leaner code-base to manage
* Lots of bugfixes, cleanup, and other adjustments.
2017-11-23 20:45:15 -08:00
Alan Mason
0b4b7a2bbb Saved the update to the wrong file.. 2017-11-23 20:21:01 -08:00
Alan Mason
d8d105c9ae Set core.autocrlf to false
* This should (hopefully) allow for tagged releases to have the correct line endings.
2017-11-23 15:24:53 -08:00
Alan Mason
964ec1e037 Adjusted free_space formatting 2017-11-23 15:13:33 -08:00
Alan Mason
b1fa59c32d Adjusted Activation menu
* If CS: exit_ecript(), else return to menu
2017-11-23 14:55:27 -08:00
Alan Mason
b02a62a917 Updated BIOS activation sections 2017-11-23 14:35:32 -08:00
Alan Mason
dcd5fa1b7a Added VCRedist install script and launcher 2017-11-23 13:54:04 -08:00
Alan Mason
9ba9ece589 Removing Visual C++ 2015 runtimes
* VCRedist 2017 installs as an update for 2015 (http://disq.us/p/1hjcta0)
  * This prevents installing or uninstalling the 2015 versions after installing 2017
  * (Because both 2015 and 2017 use these regkeys: HKEY_LOCAL_MACHINE(Wow6432Node|)\SOFTWARE\Microsoft\DevDiv\VC\Servicing\14.0)
2017-11-23 13:43:49 -08:00
Alan Mason
5dda9ea491 FIx BleachBit sections 2017-11-23 12:20:39 -08:00
Alan Mason
70c0868a4c Misc fixes 2017-11-23 12:20:06 -08:00
Alan Mason
db55a6f2f1 Merge branch 'new-update-script' into develop 2017-11-22 22:16:47 -08:00
Alan Mason
2023ac959b Added ConEmu.png
* Placed in the root diretory for easy swapping before building the kit
* Build Kit.cmd copies the file into place
2017-11-22 22:16:30 -08:00
Alan Mason
e711258850 Updated SafeMode Enter & Exit scripts 2017-11-22 21:02:36 -08:00
Alan Mason
98b95cbcb5 Merge branch 'new-update-script' into develop 2017-11-22 20:58:59 -08:00
Alan Mason
9977ddf365 Made Ninite optional in install_sw_bundle 2017-11-22 20:58:42 -08:00
Alan Mason
6250ee8865 Copy Ninite files to Installers during update 2017-11-22 20:56:26 -08:00
Alan Mason
38cb129add Added confirmation to cbs_fix.py 2017-11-22 20:11:31 -08:00
Alan Mason
68aed8ff34 Fixed menus shown by select_disk()
* Also auto-selects the first disk (if it's the only one detected)
2017-11-22 20:11:07 -08:00
Alan Mason
2ddb878b54 Added confirmation to sfc_scan.py
* Should help avoiding undesired scans
2017-11-22 20:06:56 -08:00
Alan Mason
0416f83448 Fixed broken menus 2017-11-22 20:06:08 -08:00
Alan Mason
c78172ede0 Print script titles to start Python scripts 2017-11-22 19:34:17 -08:00
Alan Mason
62b338ac0a Adjusted BlueScreenView launcher 2017-11-22 19:07:57 -08:00
Alan Mason
1c0b8b6b19 Bugfix: LaunchOfficeSetup
* Forgot to update %OFFICE_SERVER% to %OFFICE_SERVER_IP%
2017-11-22 19:05:55 -08:00
Alan Mason
76a1752454 Merge branch 'develop' into refactor-launch-cmd 2017-11-22 16:48:52 -08:00
Alan Mason
1011fef0ce Missing update to update.py 2017-11-22 16:47:55 -08:00
Alan Mason
48e4e70155 Updated usage message 2017-11-22 16:46:14 -08:00
Alan Mason
c4b768e114 Merged Console and Program sections
* BREAKING: This uses a new L_TYPE: Executable
  * Added new L__CLI variable to run inside ConEmu
2017-11-22 16:45:11 -08:00
Alan Mason
19f744f8f8 Avoid double pause in Launch.cmd
If Launch.cmd aborted it would cause the launcher to abort as well.
If the error was handled by Launch.cmd then we can assume the launcher ran correctly.
2017-11-22 15:33:29 -08:00
Alan Mason
aef692dddf Removed unused L_CHCK and L_WAIT variables 2017-11-22 15:30:04 -08:00
Alan Mason
dbcaa54f5f QuickBooks split 2017-11-22 15:01:15 -08:00
Alan Mason
b60244a2f9 LaunchOffice cleanup 2017-11-22 15:01:02 -08:00
Alan Mason
88bb009cf2 Split PyScript and some cleanup 2017-11-22 14:50:55 -08:00
Alan Mason
00e0ff5e2d Split PSScript section 2017-11-22 14:42:49 -08:00
Alan Mason
c526c3d1b9 Split Program and Office sections
* Also renamed TestPath for clarity
2017-11-22 14:41:21 -08:00
Alan Mason
bd649f2189 Split LaunchConsole into Native & ConEmu parts 2017-11-22 14:01:54 -08:00
Alan Mason
ec97e4deb3 ConEmu sections updated
* Use a ConEmu variable instead of manually setting IN_CONEMU=True
* USE_CONEMU renamed RELOAD_IN_CONEMU for clarity
2017-11-22 13:51:13 -08:00
Alan Mason
2b7e3f38fe Simplified extraction code
* BREAKING: No longer supports single-file archives.
  * All archives in .cbin are now extracted to their own folder.
2017-11-22 13:49:47 -08:00
Alan Mason
a6d991ca60 Reordered sections 2017-11-22 13:48:07 -08:00
Alan Mason
e28492f32f Fixed a few launchers 2017-11-22 13:45:59 -08:00
Alan Mason
ef844d510c Another attempt to fix CRLF/LF issues 2017-11-22 13:45:23 -08:00
Alan Mason
950110ec8a Adjusted launcher naming 2017-11-22 12:01:43 -08:00
Alan Mason
d8214cce14 Attempt to fix CRLF/LF issue
* Generated launchers were using inconsistent endings causing very strange crashes.
  * New plan: strip current endings and let Python handle them instead.
2017-11-21 18:15:38 -08:00
Alan Mason
d22339410e Bugfix: Missing Copy script
* File is now renamed using KIT_NAME_FULL
2017-11-21 15:14:36 -08:00
Alan Mason
4bdab51e34 Reduce wait time after removing old launchers 2017-11-21 15:00:49 -08:00
Alan Mason
4701ef77fd Readded network installers
* Only installers for supported years have launchers created
2017-11-21 15:00:20 -08:00
Alan Mason
65d710b72f Trimmed settings.launchers 2017-11-21 13:31:20 -08:00
Alan Mason
deac1a6dda Completed generate launchers 2017-11-21 13:26:33 -08:00
Alan Mason
d0f4dd1f52 Made SDIO Update optional 2017-11-21 13:25:44 -08:00
Alan Mason
830eff27c3 Build kit in new folder 2017-11-21 10:59:57 -08:00
Alan Mason
52684ebb4a Bugfix
* TreeSizeFree downloads and extracts correctly again
* Compressing tools will skip 7-Zip archives
2017-11-21 10:34:52 -08:00
Alan Mason
c47d88aad8 Adjusted formatting for update_kit.py 2017-11-21 00:37:18 -08:00
Alan Mason
b61cb2e0ed Bugfix and a typo 2017-11-21 00:33:07 -08:00
Alan Mason
93a7a69c29 Compress .cbin done
* Only mildly dangerous?
2017-11-21 00:07:41 -08:00
Alan Mason
f842cec65b Always more downloads 2017-11-20 23:12:48 -08:00
Alan Mason
3df01a0e05 no message 2017-11-20 23:11:07 -08:00
Alan Mason
ea4036e14d Added ODT downloads 2017-11-20 23:10:42 -08:00
Alan Mason
5c5fba103e Downloads finished
Testing and compression next
2017-11-20 21:23:41 -08:00
Alan Mason
4bf7d000e3 update.py rewrite still in progress
TODO:
* Finish the download sections
* Add section to compress the folders/files in .cbin
2017-11-19 18:51:03 -08:00
Alan Mason
8d287f5d3f Merge branch 'develop' into new-update-script 2017-11-19 02:52:23 -08:00
Alan Mason
59ecefe839 Added initial cbin downloads
* Need to add rest of the tools and compression sections
2017-11-19 02:51:33 -08:00
Alan Mason
1b8ec96379 New update scripts
# Plan #
* Repo should be in a non-functional state
  * This is to avoid confusion when most, if not all, scripts fail to run when first downloaded.
* The first step should be to run Build Kit.cmd which does the following
  * Downloads 7-Zip, ConEmu, Notepad++, & Python (including wheel packages)
    * (i.e. just enough to run update_kit.py)
  * Open .bin/Scripts/settings/main.py in Notepad++ for configuration
  * Move the kit folders into place
    * (i.e. /.root_items/* ->> /, /Build Kit.cmd --> /.bin/Scripts/Build Kit.cmd, etc)

* Added Build Kit.cmd
  * Launches build_kit.ps1

* Added build_kit.ps1
  * Downloads 7-Zip, ConEmu, and Python
  * Launches update_kit.py unless errors are encountered

* Removed all launchers
  * update_kit.py will generate them in a future update
2017-11-18 22:50:58 -08:00
Alan Mason
b68f1a98e7 Updated Launch.cmd
* Removed PywScript
* Setting L_NCMD with PSScript or PyScript will now use their respective native windows (instead of ConEmu)
  * Relaunch in ConEmu code reworked to avoid launching ConEmu twice in this case
    * i.e. CMD (Launch.cmd) --> ConEmu (Launch.cmd) --> ConEmu (some_script.py)
* Updated PSScript section to match PyScript
2017-11-18 16:14:12 -08:00
Alan Mason
231040526a Updated exit_script()
Keep script open if log can't be opened
2017-11-18 15:42:58 -08:00
Alan Mason
bda6c5d280 Bugifx
Close issue #2
2017-11-18 14:24:13 -08:00
Alan Mason
1fa361ada6 Bugfix
Closes issue #3
2017-11-18 14:00:41 -08:00
Alan Mason
6fc04266d4 2017-11: Retroactive Updates
## MAJOR refactoring done ##

* All .cmd Command scripts
  * Brandind / Settings variables now set via .bin/Scripts/settings/main.py
  * Window titles now set using KIT_FULL_NAME

* All .py Python scripts
  * All ClientDir paths should now use KIT_SHORT_NAME
  * Long lines wrapped to better follow PEP8
  * String formatting now more consistant
  * Updated run_program() and popen_program() calls to use lists
    * (e.g. cmd = ['', '', '']; run_program(cmd))
    ** Should improve clarity IMO
  * Update window titles AFTER init_global_vars() so KIT_FULL_NAME can be used

* Branding / Settings
  * Support tech now configurable
    * (e.g. "Please let {tech} know and they'll look into it")
  * Timezone now configurable
  * Upload info can now be disabled/enabled in .bin/Scripts/settings/main.py

* CHKDSK
  * Combined read-only and fix scripts and added menu

* DISM
  * Combined ScanHealth and RestoreHealth scripts and added menu

* functions/common.py
  * BREAKING: run_program() and popen_program() no longer accept 'args' variable

* Misc
  * Removed Win7 NVMe launcher
    * Never used and Win7 is deprecated
  * Removed "DeviceRemover" and "Display Driver Uninstaller" launchers
    * Both cut too deep and were not useful
  * Removed Nirsoft utilities and Sysinternals Suite launchers
    * Too many tools unused.
    * Added .url links to the websites in case the tools are needed
  * Replaced WinDirStat with TreeSizeFree
  * Replaced Q-Dir launcher with XYplorer launcher
    * Q-Dir was running into issues on Windows 10
  * Removed C.IntRep, ESET, and MBAM launchers from "OSR & VR"
  * Removed JRT
    * Deprecated and discontinued by MBAM
  * Removed unsupported QuickBooks launchers (2014 and older)
  * Removed unsupported Office launchers (2010 and 2013\365)
  * Removed "Revo Uninstaller" launcher
  * Removed infrequently used tools from "Diagnostics"
    * Auslogics DiskDefrag
    * BatteryInfoView
    * BIOSCodes
    * GpuTest
    * HeavyLoad

* Bugfixes
  * major_exception() try-blocks should catch CTL+c again
    * Allows for manual script bailing
2017-11-17 01:02:24 -07:00
Alan Mason
41d6cfc209 2017-08: Retroactive Updates
* Bugfixes
  * Windows 10 v1703 / Redstone 2 / Creator's Update now recognized (attempt #2)
2017-11-17 00:57:07 -07:00
Alan Mason
b37a492db5 2017-03: Retroactive Updates
## MAJOR refactoring in progress ##

# BROKEN SCRIPTS #
  (These scripts need updated to use the new global_vars & try_and_print)
    * user_data_transfer.py
    * install_sw_bundle.py

* All Python scripts
  * PLAN: Replace vars_wk with global_vars

* functions.py
  * PLAN: Will hold (nearly?) all functions going forward
    * Should simplify the remaining scripts
    * (e.g. reset_browsers and sw_diagnostics both had a backup_browsers())
  * PLAN: Move all program definitions to functions.py
    * (e.g. vars_wk['SevenZip'] --> global_vars['Programs']['SevenZip'])
  * Added major_exception()
    * Should be called if anything goes wrong to alert user and provide info
  * Added non_clobber_rename()
    * Appends a number (if necessary) to avoid overwriting data
  * Added popen_program()
    * Removes subprocess req for sw_checklist
  * Added try_and_print()
    * Run a function and show CS/NS/etc
    * Can add additional "result" strings via Exception classes
    * Passes unrecognized args/kwargs to the function
    * Used by scripts to standardize message formatting and error handling
  * exit_script() now handles opening the log (if set) and killing caffeine.exe
  * Refactored init_vars_wk/os code to work with global_vars
    * Uses the try_and_print function for better formatting and error handling
    * BREAKING: 'OS' vars now located in global_vars['OS'] (including 'Arch')
      * OS labeled as 'outdated', 'very outdated', and 'unrecognized' as needed
    * BREAKING: renamed PROGRAMS to TOOLS
      * Expanded TOOLS
  * Removed log_file as a required argument from all functions
  * Removed vars_wk/global_vars as a required argument from all functions
  * Removed unused WinPE functions
  * Sorted functions

* user_checklist() (formerly reset_browsers())
  * Most functions moved to functions.py (see above)
  * Browsers
    * Work has been split into backup, reset, and config sections
    * Script now asks all questions before starting backup/reset/config
    * Script now forces the homepage to DEFAULT_HOMEPAGE (set in functions.py)
      * (i.e. it no longer asks first, it just does it)
    * Current homepages are listed where possible before backup/reset/config

* Launch/Launchers
  * Added QuickBooks support

* Removed launchers
  * CPU-Z
  * HWMonitor
  * PerfMonitor2
  * SanDisk Express Cache
  * Shortcut Cleaner
  * SuperAntiSpyware (SAS)

* Replaced Notepad2-Mod with Notepad++
2017-11-17 00:56:16 -07:00
Alan Mason
1822b7e9bf 2016-12: Retroactive Updates
* Removed SIV and switched back to AIDA64
* Bugfixes
2017-11-17 00:55:27 -07:00
Alan Mason
7616f2ea5f 2016-11: Retroactive Updates
* NEW: CompressedBin folder .cbin
  * This folder holds compressed versions of what was in .bin
    * These files are 7-zip compressed using file + header encryption
    * (This is to avoid false-positive AV alerts)

* NEW: Python conversion
  * All scripts rewritten / ported to Python
  * All PoSH scripts removed
  * All scripts adjusted to no longer use vars as a variable
    * This is because vars is a built-in function
    * Also, slightly more clear as vars_wk == variables for Wizard Kit
  * vars_os merged with vars_wk for since both are based on the current system
  * Launch.cmd no longer uses %path% and instead directly modifies L_PATH
    * fixes bug where an empty %PATH% would halt various scripts

* Copy WizardKit
  * Now only copies the required folders in .bin
    * Avoids potentially massive slowdowns on often-used UFDs
  * Updated to support the new .cbin folder

* User Data Transfer expanded
  * File-based main data selection is now done first
  * Default inclusions and exclusions adjusted
  * Cleanup should now unhide TransferDir

* Launch.cmd and Launchers updated
  * Launch and Launcher_Template reworked to support the new .cbin method
    * Launch will extract the archive (if exists) and then launch the item
  * Launch.cmd now automatically reloads inside ConEmu
  * Launch.cmd now runs from L_ITEM's dir in most cases
  * Added L_NCMD to use the native command window instead of ConEmu
  * Added PywScript mode that uses Python native console window
  * Launchers are customized at the top of the files now
    * FindBin and Flags functions have been moved to the end of the file
  * Launchers and Launch.cmd now use more descriptive variable names
    * Helps readability and troubleshooting
  * Ported code from copy_office.cmd into Launch.cmd
    * Office setup local folders now have better naming
  * Scripts should now print details about the ENV when aborting
    * Should help diagnose future breaks, typos, etc..
  * Added a gen_office.bash script for creating the Office Setup Launchers
  * Fixed Office variable issue (needed delayedexpansion)

* SW Diagnostics / SW Checklist
  * (Re)added Kill All Processes section using ProcessKiller 2.0 from Tron
  * Added Everything - dumps a file listing of the %systemdrive%
  * Added Opera to the browser backup section
  * AdwCleaner is no longer removed during the checklist
  * HWiNFO has replaced HWMonitor due to false AMD/ATI readings
  * HWiNFO is not opened until after Enter is pressed to exit the checklist
  * Installed OS warnings expanded to mark many more versions as outdated
  * SAS is no longer force-removed at the end of the script
  * The new user data size function is reading data for all users
2017-11-17 00:54:34 -07:00
Alan Mason
b180b42ec9 2016-10: Retroactive Updates
# Migration to Python started #
  * PoSH has an extreme slowdown for some systems while it runs an optimization
  ** pass for .NET on the first PoSH script execution.
  ** This is reason enough to move to an alternative.

* New additions:
  * User Data Transfer script
    * Will extract from a WIM or copy from a folder
    * Uses wimlib-imagex for images and FastCopy for folders
    * Removes undesired items after transfer/extraction
  * HWiNFO
  * Missing ODD repair registry patch
  * Q-Dir
  * SW Bundle install script

* ConEmu
  * Moving back to ConEmu for better performance.

* Copy-WizardKit
  * Now uses FastCopy

* functions.py
  * Ported init.ps1 to Python using functions.py (from WinPE) as a base

* Launch.cmd
  * Elevating programs/scripts now done using a temp VBScript file
  * Can run Python scripts (using either the 32 or 64 bit runtime)

* transferred_keys.cmd
  * Expanded searched paths

* Misc
  * Lots of variables and files renamed
  * Lots of hard-coded paths are now in variables
    * Should only be set in scripts in %bin%\Scripts
  * Moved a subset of the Diagnostics launchers to a new 'Extras' folder
    * The launchers moved are those that are less-often used
  * Refactored FindBin code to be more concise
  * Renamed "KitDir" "ClientDir" to indicate that it is on the client's system
  * Removed GeForce Experience launcher as it now requires an account
  * Added link to NVIDIA's driver webpage to download the correct driver
  * Removed AMD's Gaming Evolved launcher
    * This is usually bundled with the GPU driver anyway
  * Switched back to ConEmu
  * Variable and script names are now more descriptive
    * i.e. checklist -> final_checklist, and HH -> %kit_dir%
    * (not happy with %kit_dir%, will probably change again)
2017-11-17 00:53:08 -07:00
Alan Mason
d9dddebccb 2016-09: Retroactive Updates
Major .bin and extraction code overhaul

* All .cmd files now have code for searching the for the .bin folder
  * This starts at the script's parent folder and moves upward
  * If no .bin folder is found then print an error to the screen

* 7z has been replaced with 7za
  * This is for better handling of x32/x64 usage
  * This also fixed a few bugs with extracting ProduKey/MailPassView/etc
  * We no longer require the full power of 7z.exe/7z.dll
  * (Since wimlib-imagex will probably be used for WIM files soon-ish)

* Bugfixes
  * A few calls of pushd were unsafe (without quotes)
  * SFC scan no longer closes immediately
2017-11-17 00:51:54 -07:00
Alan Mason
a4c0c487ff 2016-08: Retroactive Updates
* Added OutlookAttachView

* Added PerfMonitor2

* CHKDSK
  * Will use the newer repair features on Windows 8 or newer

* MailPassView & ProduKey
  * Now saved in a 7-Zip encrypted archive to avoid deletion by AV

* SW Checklist / Diagnostics
  * Windows 10 Blocked automatically
    * (Too late but whatevs it was in testing before the cutoff)

* Bugfixes
  * Activate Windows (with BIOS key)
    * Wasn't extracting ProduKey before trying to run it
  * SW Diagnostics
    * Should now report the preview size from BleachBit correctly
2017-11-17 00:51:23 -07:00
Alan Mason
3031df5a4c 2016-07: Retroactive Updates
* DISM
  * Much safer WinVer check

* Enter / Exit SafeMode
  * Now enables MSI (un)installers in SafeMode w/ Networking

* Final Checklist
  * NEW: can now be run directly from UFD

* Hide Windows 10 Upgrade.reg
  * Added more registry blocks

* Removed Chocolately
  * Too much volatility
  * Ninite will regain default installer status

* Replaced ConEmu with Cmder
  * Cmder has a heavily modified ConEmu
  * Changed background
  * Added Cmder launchers in Misc

* SW Diagnostics
  * NEW: can now be run directly from UFD
  * BleachBit / Winapp2.ini updated
    * Expanded selections
    * Now only checks temp data size; DOES NOT delete temp data
  * Internet connection test will now loop until the manually exited
  * Now warns you that it can't check Windows activation in SafeMode

* Bugfixes
  * reset_browsers.ps1
    * Should skip "resetting" the backup folders (i.e. Default.wkbak)
2017-11-17 00:50:54 -07:00
Alan Mason
c6e58088af 2016-06: Retroactive initial commit 2017-11-17 00:50:27 -07:00