Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo off
- title Windows 10 Missing Icon Fixes
- goto foreward
- :foreward
- color 0b
- cls
- echo The methods inside this batch modify files and registry settings.
- echo While they are tested and tend to work, I take no responsibility for the use of this file.
- echo This batch is provided without warranty. Any damage caused is your own responsibility.
- echo.
- echo As well, batch files are almost always flagged by anti-virus, feel free to review the code if you're unsure.
- echo.
- echo If you understand the above, and accept - press any key to continue...
- pause > NUL
- goto elevatecheck
- :elevatecheck
- color 0c
- cls
- echo Checking for Administrator elevation...
- echo.
- echo.
- openfiles > NUL 2>&1
- if %errorlevel%==0 (
- echo Elevation found! Proceeding...
- goto vercheck
- ) else (
- echo You are not running as Administrator...
- echo This batch cannot do it's job without elevation!
- echo.
- echo Right-click and select ^'Run as Administrator^' and try again...
- echo.
- echo Press any key to exit...
- pause > NUL
- exit
- )
- :vercheck
- color 0c
- cls
- echo Performing Pre-Checks...
- for /f "tokens=4-5 delims=. " %%i in ('ver') do set version=%%i.%%j
- if "%version%"=="6.3" set allow=1
- if "%version%"=="6.1" set allow=1
- if %allow%==1 goto warning
- set allow=0
- echo.
- echo You did not pass the pre-requisites.
- echo If you're running Windows 8, go install Windows 8.1 from the Store.
- echo.
- echo Press any key to exit.
- pause > NUL
- exit
- :warning
- color 0b
- cls
- echo Warning about qualifications...
- echo.
- echo.
- echo Just because your version checks out, doesn't mean you're eligible for the free upgrade!
- echo Notably, the following are not elibile for Windows 10 via Windows Update...
- echo.
- echo Windows 7 RTM
- echo Windows 8
- echo Windows 8.1 RTM
- echo Windows RT
- echo Windows Phone 8.0
- echo.
- echo Press any key to continue...
- pause > NUL
- goto menu
- :menu
- color 0b
- cls
- echo Main Menu
- echo.
- echo.
- echo 1^) Check Update Status
- echo 2^) Quick-Method #1 ^[JC from answers.microsoft.com^]
- echo 3^) Quick-Method #2 ^[KevinStevens_845 from answers.microsoft.com^]
- echo 4^) Long-Method #1 ^[Yaqub K from answers.microsoft.com^]
- echo 5^) EXIT
- echo.
- set /p mmchoice=Selection:
- if %mmchoice%==1 goto upstatus
- if %mmchoice%==2 goto qm1
- if %mmchoice%==3 goto qm2
- if %mmchoice%==4 goto lm1
- if %mmchoice%==5 exit
- goto error
- :error
- color 0C
- cls
- echo Main Menu - Error!
- echo.
- echo.
- echo You did not enter a valid entry.
- echo.
- echo Press any key to return to the main menu and try again.
- pause > NUL
- goto menu
- :upstatus
- cls
- echo Checking for appropriate update installation status...
- echo.
- echo.
- if "%version%"=="6.3" goto upstatus8
- if "%version%"=="6.1" goto upstatus7
- goto menu
- :upstatus8
- echo Windows 8^+ detected...
- echo.
- set upcheck=3035583
- echo Checking for update KB%upcheck%...
- dism /online /get-packages | findstr %upcheck% > NUL
- if %errorlevel%==0 (
- echo Update KB%upcheck% is installed!
- set missupdate=0
- ) else (
- echo Update KB%upcheck% is missing!
- set missupdate=1
- )
- echo.
- set upcheck=3035583
- echo Checking for update KB%upcheck%...
- dism /online /get-packages | findstr %upcheck% > NUL
- if %errorlevel%==0 (
- echo Update KB%upcheck% is installed!
- ) else (
- echo Update KB%upcheck% is missing!
- set /a missupdate=%missupdate%+1>NUL
- )
- echo.
- echo.
- if %missupdate%==0 (
- echo You are not missing any updates, congratulations!
- ) else (
- echo You are missing %missupdate% update^(s^).
- )
- echo Press any key to return to the main menu...
- pause > NUL
- goto menu
- :upstatus7
- echo Windows 7 detected...
- echo.
- set upcheck=3035583
- echo Checking for update KB%upcheck%...
- dism /online /get-packages | findstr %upcheck% > NUL
- if %errorlevel%==0 (
- echo Update KB%upcheck% is installed!
- set missupdate=0
- ) else (
- echo Update KB%upcheck% is missing!
- set missupdate=1
- )
- echo.
- set upcheck=2952664
- echo Checking for update KB%upcheck%...
- dism /online /get-packages | findstr %upcheck% > NUL
- if %errorlevel%==0 (
- echo Update KB%upcheck% is installed!
- ) else (
- echo Update KB%upcheck% is missing!
- set /a missupdate=%missupdate%+1>NUL
- )
- echo.
- echo.
- if %missupdate%==0 (
- echo You are not missing any updates, congratulations!
- ) else (
- echo You are missing %missupdate% update^(s^).
- )
- echo Press any key to return to the main menu...
- pause > NUL
- goto menu
- :qm1
- cls
- echo Quick-Method #1 ^[JC from answers.microsoft.com^]
- echo.
- echo.
- echo Updating registry...
- reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\UpgradeExperienceIndicators" /v UpgEx /t REG_SZ /d Green /f
- echo Trying to launch notification tray application...
- %SystemRoot%\System32\GWX\GWX.exe /taskLaunch
- echo.
- echo This method is now complete - and is also instant!
- echo You should see the Windows 10 icon in your notification tray.
- echo If you do not, return to the menu and try another method.
- echo.
- echo Press any key to return to the main menu...
- pause > NUL
- goto menu
- :qm2
- echo Quick-Method #2 ^[KevinStevens_845 from answers.microsoft.com^]
- echo.
- echo.
- echo Trying to launch GWX task...
- %SystemRoot%\System32\GWX\GWX.exe /taskLaunch
- echo Trying to refresh GWX config...
- %SystemRoot%\System32\GWX\GWXConfigManager.exe /RefreshConfig
- echo.
- echo This method is now complete - but it could take a few minutes.
- echo In approximately 10 minutes you should see the Windows 10 icon in your notification tray.
- echo If you do not, return to the menu and try another method.
- echo.
- echo Press any key to return to the main menu...
- pause > NUL
- goto menu
- :lm1
- cls
- echo Long-Method #1 ^[Yaqub K from answers.microsoft.com^]
- echo.
- echo.
- echo This method can take anywhere from 10 minutes on.
- echo I've had this run up to 40 minutes during my tests...
- echo.
- echo This will loop for a while but please note...
- echo If you see the ^"STATUS^" as anything but ^"RUNNING^", there is something wrong.
- echo If that happens, close the batch file and start over. It may take a few times.
- echo.
- echo Further, due to the way this script was originally written, you may have to re-launch this batch to continue.
- echo.
- echo If you understand the above, press any key to continue.
- pause > NUL
- color 0c
- cls
- echo Work has begun...
- REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\UpgradeExperienceIndicators" /v UpgEx | findstr UpgEx
- if "%errorlevel%"=="0" goto RunGWX
- reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Appraiser" /v UtcOnetimeSend /t REG_DWORD /d 1 /f
- schtasks /run /TN "\Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser"
- echo THIS MAY CAUSE A LOOP - CHECK FOR RUNNING STATUS!!! &echo THIS MAY CAUSE A LOOP - CHECK FOR RUNNING STATUS!!! &echo THIS MAY CAUSE A LOOP - CHECK FOR RUNNING STATUS!!!
- :CompatCheckRunning
- schtasks /query /TN "\Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser"
- schtasks /query /TN "\Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser" | findstr Ready
- if not "%errorlevel%"=="0" ping localhost > NUL &goto :CompatCheckRunning
- :RunGWX
- schtasks /run /TN "\Microsoft\Windows\Setup\gwx\refreshgwxconfig"
- color 0b
- cls
- echo.
- echo This method is now complete.
- echo Reports show that this could take up to an hour to show the icon.
- echo It is also recommended that you reboot your PC if it has not shown up after that hour wait.
- echo.
- echo If you do not see the notification tray icon, try another method.
- echo If you are using this method last, please wait in the Microsoft Answers forums for a new answer.
- echo.
- echo Press any key to return to the main menu...
- pause > NUL
- goto menu
Add Comment
Please, Sign In to add comment