Możliwe rozwiązania
Poniżej znajduje się kilka skryptów wsadowych, które mogą sprawdzić, czy system operacyjny to Windows 8.1 z lub bez KB2919355 . Kod wyjścia będzie jednym z następujących:
0: Windows 8.1
1: Aktualizacja systemu Windows 8.1 (zainstalowana KB2919355)
2: Nie Windows 8.1
Skrypt wsadowy A - Sprawdź aktualizację
To najbardziej niezawodny sposób. Skrypt najpierw sprawdza, czy system operacyjny to Windows 8.1, porównując wersję 6.3.9600. Następnie sprawdzane są wszystkie zainstalowane aktualizacje, aby sprawdzić, czy aktualizacja KB2919355 została już zainstalowana.
@echo off
for /f "usebackq tokens=2 delims==" %%G in (
`wmic os get version /value ^| findstr /c:"="`
) do set version=%%~G
if not "%version%" == "6.3.9600" exit /b 2
wmic qfe get hotfixid | findstr /i /c:"KB2919355" >nul
set /a errorlevel=%errorlevel% ^^ 1
exit /b %errorlevel%
Skrypt wsadowy B - Kontrola wersji kompilacji
Alternatywnie można sprawdzić wersję kompilacji systemu Windows, która jest szybsza niż pierwszy skrypt, ponieważ nie trzeba wyliczać wszystkich aktualizacji. Ponieważ używa wartości rejestru, może nie być tak niezawodny.
@echo off
for /f "usebackq tokens=2 delims==" %%G in (
`wmic os get version /value ^| findstr /c:"="`
) do set version=%%~G
if not "%version%" == "6.3.9600" exit /b 2
for /f "tokens=4 delims=. " %%G in (
'"reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "BuildLabEx" | findstr /i /c:"REG_SZ" "'
) do set /a build=%%~G
if %build% geq 17031 exit /b 1
exit /b 0
Skrypt wsadowy C - sprawdzanie wersji kompilacji (Internet Explorer)
Podobnie jak w poprzednim skrypcie, tutaj koncepcja jest podobna, z tym że sprawdzana jest wersja Internet Explorer (IE).
@echo off
for /f "usebackq tokens=2 delims==" %%G in (
`wmic os get version /value ^| findstr /c:"="`
) do set version=%%~G
if not "%version%" == "6.3.9600" exit /b 2
for /f "tokens=3,6 delims=. " %%G in (
'"reg query "HKLM\SOFTWARE\Microsoft\Internet Explorer" /v "svcVersion" | findstr /i /c:"REG_SZ" "'
) do set /a major=%%~G & set /a build=%%~H
if %major% equ 11 if %build% geq 17031 exit /b 1
if %major% geq 12 exit /b 1
exit /b 0
Uwaga : Skrypt zakłada, że każda wersja IE wyższa lub równa 12 będzie dostępna w systemie Windows 8.1 z zainstalowaną aktualizacją KB2919355.
Wszystkie przyszłe aktualizacje zabezpieczeń i niezwiązane z zabezpieczeniami dla systemów Windows RT 8.1, Windows 8.1 i Windows Server 2012 R2 wymagają zainstalowania tej aktualizacji. Zalecamy zainstalowanie tej aktualizacji na komputerze z systemem Windows RT 8.1, Windows 8.1 lub Windows Server 2012 R2, aby otrzymywać przyszłe aktualizacje.
Źródło: Windows RT 8.1, Windows 8.1 i Windows Server 2012 R2 Update: kwiecień 2014
Biorąc pod uwagę powyższe, uzasadnione jest przypuszczenie, że każda nowsza wersja IE wymagałaby aktualizacji jako warunku wstępnego, podobnie jak dodatek SP2 jest wymagany do zainstalowania IE 9 w systemie Windows Vista .