How about: [E]nable Update Service to allow Windows Store. [C]ontinue script to run WUMT and check for Windows Updates. [Q]uit script, or "Alt + F4", or close window, if you're just verifying or are finished changing the update service setting. It stays how it's set above.
August 26, 2018 WUMT Wrapper Script 2.5.2 *Added 60 second delay to "WDU" Windows Defender Update task to fix some random problems. If run manually it'll wait for 60 or more seconds before it actually updates, just so you'll know why it's running and seems to not be doing anything . *Added "WUMT Wrapper Script X.X.X Installer" to title bar of installer, and "W.W.S X.X.X" as App Title of installer in task switcher. *Improved wording in Configurator pages. *"Automatic App Update" in "Windows Update" tasks is now left on, all others off as usual. Uninstaller reenables them all. *Changed installer picture. *Important bugfixes. Please update to this version now. Thanks @s1ave77, @Lars220, @rpo, @Whistler4, and @app_raiser Also, I plan to work on accommodating versions of windows below 10 better as soon as I can but I want the script to be as good as it can be for Windows 10 first. It's pretty close to perfect now until they change things again so maybe soon.
Thanks for the update pd100 on my computer I don't have the 60seconds delay maybe because Ive disabled Windows Defender completely as I run my own Antiviral. By the way I run the Portable Version If I just run the script and press c then press any key I presume the *"Automatic App Update" in "Windows Update" tasks is now left on, all others off as usual. doesn't work..unless I press e?
The defender update task WDU doesn't do anything if defender's not running. And yes, Automatic App Update only works if you press "E" to leave the update service enabled.
@pf100 thank you for your continued work on this project. i've few suggestion to improve project usability for end users. + In portable folder, you should put all the items in Bin folder which doesn't require user interaction directly like, wub wumt_x64wumt_x86 module it'll create more cleaner experience and less confusion about what to run for the end users. + when script start it flickers 2 or 3 times, i guess this can be avoided? also size of cmd window changes in different stages, i think a fixed size through out all the process should create better experience. + add the info in read me to not change portable folder location after applying the script. + is it possible to have any workarounds to not create sfc errors? + script update seems too frequent, may create problems in users to catch up.i suggest to wait and collect enough improvements and when you dont have any known problems and improvements then release the update.
@ShiningDog, I'll work on the bin folder idea. The script flickers when it runs vb script necessary to create xml's for tasks when used in path with special characters in path (é, è, ù,...). I can't stop the flicker but am working on using vb script inside the script to stop the flickering. I don't like the flickering either, but it works. I'll add not to move the script folder. The script prevents the system from reading or writing to exe's, dll's, and update tasks even during a major update (1709 to 1803, etc.). SFC errors cannot be avoided with the script, so there are no workarounds other than to uninstall the script if you want to run SFC without errors. That's the price for disabling system access to those files. As far as the script update frequency, when I see a problem, I fix it. I realize this makes it hard to stay up to date and I'll do the best I can to not release too soon. The only problem is, I don't get enough feedback. I only found out that v2.5.0 disables updates in the middle of a CU when it happened to me. I had to wait for a CU to find that out. I'll try to do better going forward. Thanks for the feedback.
@Lars220, I'm going to make all windows the same size so I'll attempt to fix Major Geek's screenshots and info after that.
Better with : echo timeout /t 60 /nobreak^>nul In conclusion, i propose : Code: :: :: Create WDU.cmd :: ( echo ::Don't run this file. It's for use by wrapper script.:: echo cd /d "%%~dp0" echo timeout /t 60 echo tasklist ^| findstr /irc:"wumt_x.*exe" echo if %%errorlevel%% equ 0 exit echo sc query ^| find /i "windefend" echo if %%errorlevel%% equ 1 exit echo if not exist wub.exe-backup ^(wub.exe /e^) echo "%%ProgramFiles%%\Windows Defender\MpCmdRun.exe" -SignatureUpdate echo if not exist wub.exe-backup ^(wub.exe /d /p^) echo exit )>"%~dp0wdu.cmd"
Good catch. Edit: The file won't work without SETLOCAL EnableDelayedExpansion I like this line: Code: tasklist | findstr /irc:"wumt_x.*exe" (caret removed) It cuts two lines of code. Nice job. So here's the final code (that actually does the exact same thing as the current v2.5.2 wdu.cmd except with two lines of code removed) Code: :: :: Create WDU.cmd :: ( echo ::Don't run this file. It's for use by wrapper script.:: echo SETLOCAL EnableDelayedExpansion echo cd /d "%%~dp0" echo timeout /t 60 echo tasklist ^| findstr /irc:"wumt_x.*exe" echo if %%errorlevel%% equ 0 exit echo sc query ^| find /i "windefend" echo if %%errorlevel%% equ 1 exit echo if not exist wub.exe-backup ^(wub.exe /e^) echo "%%ProgramFiles%%\Windows Defender\MpCmdRun.exe" -SignatureUpdate echo if not exist wub.exe-backup ^(wub.exe /d /p^) echo exit )>"%~dp0wdu.cmd"
v2.5.2 is working beautifully so I'm going to stop development of the script (parts of the script will be re-written or edited, but it will work exactly the same as v2.5.2) and concentrate on a FAQ, documentation revision, cosmetics, incorporate vb script into script file to stop screen flashing, and all other recommendations offered. Please keep the feedback coming. Thanks, everybody.
Without it, only the first errorlevel check works, then it sets all further errorlevels to the first one, breaking the script. I found that out by inserting pauses and echoing each errorlevel.
We could adopt this: Code: :: :: Create WDU.cmd :: ( echo SETLOCAL EnableDelayedExpansion echo whoami /user /nh ^| find /i "S-1-5-18" echo if not %%errorlevel%% equ 0 exit echo cd /d "%%~dp0" echo timeout /t 60 echo tasklist ^| findstr /irc:"wumt_x.*exe" echo if %%errorlevel%% equ 0 exit echo sc query ^| find /i "windefend" echo if %%errorlevel%% equ 1 exit echo if not exist wub.exe-backup ^(wub.exe /e^) echo "%%ProgramFiles%%\Windows Defender\MpCmdRun.exe" -SignatureUpdate echo if not exist wub.exe-backup ^(wub.exe /d /p^) echo exit )>"%~dp0wdu.cmd"
This looks good and am going to use it. I was planning on testing it but I haven't had time. I went to sleep, then had to get up 4 hours later and leave and am typing this on my phone while sitting in a car in a parking lot.
I don't understand this 60 s delay. The WDU task starts at 00:01:00 and is repeated every 2 hours. So what? What makes sense for me is delaying the wub_task since it is scheduled at startup and logon times which correspond with high system activity.