v0.0.25-beta

Update: menu look, Office MAK check, auto C2R-R2V
This commit is contained in:
abbodi1406 2019-11-20 03:23:44 +03:00
parent 6772722691
commit 8d497025bb

View File

@ -189,13 +189,13 @@ set "IFEO=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution
set "OSPP=SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform" set "OSPP=SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform"
set "SPPk=SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" set "SPPk=SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform"
set _Hook="%SysPath%\SppExtComObjHook.dll" set _Hook="%SysPath%\SppExtComObjHook.dll"
set w7inf="%SystemRoot%\Migration\WTR\KMS_VL_ALL.inf" set w7inf=%SystemRoot%\Migration\WTR\KMS_VL_ALL.inf
set "_TaskEx=\Microsoft\Windows\SoftwareProtectionPlatform\SvcTrigger" set "_TaskEx=\Microsoft\Windows\SoftwareProtectionPlatform\SvcTrigger"
set "_TaskOs=\Microsoft\Windows\SoftwareProtectionPlatform\SvcRestartTaskLogon" set "_TaskOs=\Microsoft\Windows\SoftwareProtectionPlatform\SvcRestartTaskLogon"
set "line1=============================================================" set "line1============================================================="
set "line2=************************************************************" set "line2=************************************************************"
set "line3=____________________________________________________________" set "line3=____________________________________________________________"
set "line4= ______________________________" set "line4=__________________________________________________"
for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
set SSppHook=0 set SSppHook=0
if %winbuild% LSS 9200 for /f %%A in ('dir /b /ad %SysPath%\spp\tokens\skus') do ( if %winbuild% LSS 9200 for /f %%A in ('dir /b /ad %SysPath%\spp\tokens\skus') do (
@ -242,7 +242,7 @@ cls&goto :DoActivate
:MainMenu :MainMenu
cls cls
mode con cols=80 lines=30 mode con cols=80 lines=32
color 07 color 07
title KMS_VL_ALL %uivr% title KMS_VL_ALL %uivr%
set _dMode=Manual set _dMode=Manual
@ -290,8 +290,8 @@ echo.
echo [8] Check Activation Status [vbs] echo [8] Check Activation Status [vbs]
echo [9] Check Activation Status [wmic] echo [9] Check Activation Status [wmic]
if defined _ckc echo [K] Clear KMS Cache if defined _ckc echo [K] Clear KMS Cache
echo [R] Read Me
echo [S] Create $OEM$ Folder echo [S] Create $OEM$ Folder
echo [R] Read Me
echo %line3% echo %line3%
echo. echo.
choice /c 123456789RSKX0 /n /m "> Choose a menu option, or press 0 to Exit: " choice /c 123456789RSKX0 /n /m "> Choose a menu option, or press 0 to Exit: "
@ -668,9 +668,9 @@ exit /b
:offchk :offchk
set ls=0 set ls=0
set ls2=0 set ls2=0
for /f "tokens=2 delims==" %%A in ('"wmic path %spp% where (Name like '%%Office%~2%%') get LicenseStatus /VALUE" %_Nul6%') do set /a ls=%%A for /f "tokens=2 delims==" %%A in ('"wmic path %spp% where (LicenseFamily='Office%~2') get LicenseStatus /VALUE" %_Nul6%') do set /a ls=%%A
if "%~4" NEQ "" ( if "%~4" NEQ "" (
for /f "tokens=2 delims==" %%A in ('"wmic path %spp% where (Name like '%%Office%~4%%') get LicenseStatus /VALUE" %_Nul6%') do set /a ls2=%%A for /f "tokens=2 delims==" %%A in ('"wmic path %spp% where (LicenseFamily='Office%~4') get LicenseStatus /VALUE" %_Nul6%') do set /a ls2=%%A
) )
if "%ls2%" EQU "1" ( if "%ls2%" EQU "1" (
echo Checking: %~5 echo Checking: %~5
@ -790,8 +790,8 @@ exit /b
:offchk14 :offchk14
set "vPrem="&set "vPro=" set "vPrem="&set "vPro="
for /f "tokens=2 delims==" %%A in ('"wmic path %spp% where (Name like '%%OfficeVisioPrem-MAK%%') get LicenseStatus /VALUE" %_Nul6%') do set vPrem=%%A for /f "tokens=2 delims==" %%A in ('"wmic path %spp% where (LicenseFamily='OfficeVisioPrem-MAK') get LicenseStatus /VALUE" %_Nul6%') do set vPrem=%%A
for /f "tokens=2 delims==" %%A in ('"wmic path %spp% where (Name like '%%OfficeVisioPro-MAK%%') get LicenseStatus /VALUE" %_Nul6%') do set vPro=%%A for /f "tokens=2 delims==" %%A in ('"wmic path %spp% where (LicenseFamily='OfficeVisioPro-MAK') get LicenseStatus /VALUE" %_Nul6%') do set vPro=%%A
if /i '%app%' EQU '6f327760-8c5c-417c-9b61-836a98287e0c' ( if /i '%app%' EQU '6f327760-8c5c-417c-9b61-836a98287e0c' (
call :offchk "%app%" "ProPlus-MAK" "Office ProPlus 2010" "ProPlusAcad-MAK" "Office Professional Academic 2010" call :offchk "%app%" "ProPlus-MAK" "Office ProPlus 2010" "ProPlusAcad-MAK" "Office Professional Academic 2010"
exit /b exit /b
@ -801,7 +801,7 @@ call :offchk "%app%" "Standard-MAK" "Office Standard 2010" "StandardAcad-MAK" "
exit /b exit /b
) )
if /i '%app%' EQU 'ea509e87-07a1-4a45-9edc-eba5a39f36af' ( if /i '%app%' EQU 'ea509e87-07a1-4a45-9edc-eba5a39f36af' (
call :offchk "%app%" "SmallBusBasics-MAK" "Office Home and Business 2010" call :offchk "%app%" "SmallBusBasics-MAK" "Office Small Business Basics 2010"
exit /b exit /b
) )
if /i '%app%' EQU 'df133ff7-bf14-4f95-afe3-7b48e7e331ef' ( if /i '%app%' EQU 'df133ff7-bf14-4f95-afe3-7b48e7e331ef' (
@ -938,10 +938,10 @@ goto :DoDebug
) )
if %_verb% EQU 1 ( if %_verb% EQU 1 (
if %Silent% EQU 0 if %_Debug% EQU 0 ( if %Silent% EQU 0 if %_Debug% EQU 0 (
mode con cols=100 lines=30 mode con cols=100 lines=32
%_Nul3% powershell -noprofile -exec bypass -c "&{$H=get-host;$W=$H.ui.rawui;$B=$W.buffersize;$B.height=300;$W.buffersize=$B;}" %_Nul3% powershell -noprofile -exec bypass -c "&{$H=get-host;$W=$H.ui.rawui;$B=$W.buffersize;$B.height=300;$W.buffersize=$B;}"
) )
echo. echo.&echo %line3%&echo.
echo Installing Local KMS Emulator... echo Installing Local KMS Emulator...
) )
if %winbuild% GEQ 9600 ( if %winbuild% GEQ 9600 (
@ -950,10 +950,14 @@ if %winbuild% GEQ 9600 (
if %_verb% EQU 1 ( if %_verb% EQU 1 (
echo. echo.
echo Adding File%AddExc%... echo Adding File%AddExc%...
echo "%SystemRoot%\System32\SppExtComObjHook.dll" echo %SystemRoot%\System32\SppExtComObjHook.dll
) )
for %%# in (SppExtComObjHookAvrf.dll,SppExtComObjHook.dll,SppExtComObjPatcher.dll,SppExtComObjPatcher.exe) do ( if %AUR% EQU 1 (
if exist "%SysPath%\%%#" del /f /q "%SysPath%\%%#" %_Nul3% call :StopService sppsvc
if %OsppHook% NEQ 0 call :StopService osppsvc
)
for %%# in (SppExtComObjHookAvrf.dll,SppExtComObjHook.dll,SppExtComObjPatcher.dll,SppExtComObjPatcher.exe) do if exist "%SysPath%\%%#" (
del /f /q "%SysPath%\%%#" %_Nul3%
) )
pushd %SysPath% pushd %SysPath%
%_Nul3% powershell -noprofile -exec bypass -c "$f=[io.file]::ReadAllText('%~f0') -split ':%xOS%dll\:.*';iex ($f[1]);X 1;" %_Nul3% powershell -noprofile -exec bypass -c "$f=[io.file]::ReadAllText('%~f0') -split ':%xOS%dll\:.*';iex ($f[1]);X 1;"
@ -983,10 +987,7 @@ if %SSppHook% NEQ 0 if not exist %w7inf% (
) )
) )
if %AUR% EQU 1 if %OSType% EQU Win8 call :CreateTask if %AUR% EQU 1 if %OSType% EQU Win8 call :CreateTask
if %_verb% EQU 1 ( if %_verb% EQU 1 echo.&echo %line3%&echo.
echo.
echo %line1%
)
goto :%_rtr% goto :%_rtr%
:RemoveHook :RemoveHook
@ -1000,15 +1001,15 @@ if %winbuild% GEQ 9600 (
) )
if %_verb% EQU 1 ( if %_verb% EQU 1 (
if %Silent% EQU 0 if %_Debug% EQU 0 ( if %Silent% EQU 0 if %_Debug% EQU 0 (
mode con cols=100 lines=30 mode con cols=100 lines=32
) )
echo. echo.&echo %line3%&echo.
echo Uninstalling Local KMS Emulator... echo Uninstalling Local KMS Emulator...
echo. echo.
echo Removing Files%RemExc%... echo Removing Files%RemExc%...
) )
for %%# in (SppExtComObjHookAvrf.dll,SppExtComObjHook.dll,SppExtComObjPatcher.dll,SppExtComObjPatcher.exe) do if exist "%SysPath%\%%#" ( for %%# in (SppExtComObjHookAvrf.dll,SppExtComObjHook.dll,SppExtComObjPatcher.dll,SppExtComObjPatcher.exe) do if exist "%SysPath%\%%#" (
if %_verb% EQU 1 echo "%SystemRoot%\System32\%%#" if %_verb% EQU 1 echo %SystemRoot%\System32\%%#
del /f /q "%SysPath%\%%#" %_Nul3% del /f /q "%SysPath%\%%#" %_Nul3%
) )
if exist %w7inf% ( if exist %w7inf% (
@ -1026,7 +1027,7 @@ if %OSType% EQU Win8 schtasks /query /tn "%_TaskEx%" %_Nul3% && (
if %_verb% EQU 1 ( if %_verb% EQU 1 (
echo. echo.
echo Removing Schedule Task... echo Removing Schedule Task...
echo "%_TaskEx%" echo %_TaskEx%
) )
schtasks /delete /f /tn "%_TaskEx%" %_Nul3% schtasks /delete /f /tn "%_TaskEx%" %_Nul3%
) )
@ -1034,7 +1035,7 @@ goto :eof
:CreateIFEOEntry :CreateIFEOEntry
if %_verb% EQU 1 ( if %_verb% EQU 1 (
echo "%IFEO%\%1" echo [%IFEO%\%1]
) )
reg delete "%IFEO%\%1" /f /v Debugger %_Nul3% reg delete "%IFEO%\%1" /f /v Debugger %_Nul3%
reg add "%IFEO%\%1" /f /v VerifierDlls /t REG_SZ /d "SppExtComObjHook.dll" %_Nul3% reg add "%IFEO%\%1" /f /v VerifierDlls /t REG_SZ /d "SppExtComObjHook.dll" %_Nul3%
@ -1049,7 +1050,7 @@ goto :eof
:RemoveIFEOEntry :RemoveIFEOEntry
if %_verb% EQU 1 ( if %_verb% EQU 1 (
echo "%IFEO%\%1" echo [%IFEO%\%1]
) )
if /i %1 NEQ osppsvc.exe ( if /i %1 NEQ osppsvc.exe (
reg delete "%IFEO%\%1" /f %_Nul3% reg delete "%IFEO%\%1" /f %_Nul3%
@ -1113,12 +1114,13 @@ goto :eof
:cCache :cCache
echo. echo.
if %_verb% EQU 0 echo %line3%&echo.
echo Clearing KMS Cache... echo Clearing KMS Cache...
call :cKMS SoftwareLicensingProduct SoftwareLicensingService %_Nul3% call :cKMS SoftwareLicensingProduct SoftwareLicensingService %_Nul3%
if %OsppHook% NEQ 0 call :cKMS OfficeSoftwareProtectionProduct OfficeSoftwareProtectionService %_Nul3% if %OsppHook% NEQ 0 call :cKMS OfficeSoftwareProtectionProduct OfficeSoftwareProtectionService %_Nul3%
call :cREG %_Nul3% call :cREG %_Nul3%
if %Unattend% NEQ 0 goto :TheEnd if %Unattend% NEQ 0 goto :TheEnd
echo. echo.&echo %line3%&echo.
echo Press any key to continue... echo Press any key to continue...
pause >nul pause >nul
goto :MainMenu goto :MainMenu
@ -1144,7 +1146,7 @@ if exist "!_temp!\SvcTrigger.xml" (
schtasks /query /tn "%_TaskEx%" %_Nul3% && if %_verb% EQU 1 ( schtasks /query /tn "%_TaskEx%" %_Nul3% && if %_verb% EQU 1 (
echo. echo.
echo Adding Schedule Task... echo Adding Schedule Task...
echo "%_TaskEx%" echo %_TaskEx%
) )
goto :eof goto :eof
@ -1161,20 +1163,21 @@ cls
set "_oem=!_work!" set "_oem=!_work!"
copy /y nul "!_work!\#.rw" 1>nul 2>nul && (if exist "!_work!\#.rw" del /f /q "!_work!\#.rw") || (set "_oem=!_dsk!") copy /y nul "!_work!\#.rw" 1>nul 2>nul && (if exist "!_work!\#.rw" del /f /q "!_work!\#.rw") || (set "_oem=!_dsk!")
if exist "!_oem!\$OEM$\$$\Setup\Scripts\setupcomplete.cmd" ( if exist "!_oem!\$OEM$\$$\Setup\Scripts\setupcomplete.cmd" (
echo. echo.&echo %line3%&echo.
echo $OEM$ Folder already exist... echo $OEM$ Folder already exist...
echo "!_oem!\$OEM$" echo "!_oem!\$OEM$"
echo. echo.
echo manually remove it if you wish to create a fresh copy. echo manually remove it if you wish to create a fresh copy.
echo. echo.&echo %line3%&echo.
echo Press any key to continue... echo Press any key to continue...
pause >nul pause >nul
goto :eof goto :eof
) )
echo. echo.&echo %line3%&echo.
echo $OEM$ Folder Created... echo $OEM$ Folder Created...
echo. echo.
echo "!_oem!\$OEM$" echo "!_oem!\$OEM$"
echo.&echo %line3%&echo.
if not exist "!_oem!\$OEM$\$$\Setup\Scripts\KMS_VL_ALL_AIO.cmd" mkdir ""!_oem!\$OEM$\$$\Setup\Scripts" if not exist "!_oem!\$OEM$\$$\Setup\Scripts\KMS_VL_ALL_AIO.cmd" mkdir ""!_oem!\$OEM$\$$\Setup\Scripts"
copy /y "%~f0" "!_oem!\$OEM$\$$\Setup\Scripts\KMS_VL_ALL_AIO.cmd" %_Nul3% copy /y "%~f0" "!_oem!\$OEM$\$$\Setup\Scripts\KMS_VL_ALL_AIO.cmd" %_Nul3%
( (
@ -1317,7 +1320,7 @@ if not defined _wmi (
goto :%_fC2R% goto :%_fC2R%
) )
echo. echo.
echo Converting Office Click-to-Run Retail-to-Volume... echo Checking Office Click-to-Run...
set _Retail=0 set _Retail=0
wmic path %_spp% where (ApplicationID='%_oApp%' AND LicenseStatus='1' AND PartialProductKey IS NOT NULL) get Description %_Nul2% |findstr /V /R "^$" >"!_temp!\crvRetail.txt" wmic path %_spp% where (ApplicationID='%_oApp%' AND LicenseStatus='1' AND PartialProductKey IS NOT NULL) get Description %_Nul2% |findstr /V /R "^$" >"!_temp!\crvRetail.txt"
find /i "RETAIL channel" "!_temp!\crvRetail.txt" %_Nul1% && set _Retail=1 find /i "RETAIL channel" "!_temp!\crvRetail.txt" %_Nul1% && set _Retail=1
@ -1347,6 +1350,7 @@ pushd %_copp%
%_Nul3% del /f /q cleanospp.exe %_Nul3% del /f /q cleanospp.exe
popd popd
) )
set _C2rMsg=0
set _O16O365=0 set _O16O365=0
if %_Retail% EQU 1 wmic path %_spp% where (ApplicationID='%_oApp%' AND LicenseStatus='1' AND PartialProductKey IS NOT NULL) get LicenseFamily %_Nul2% |findstr /V /R "^$" >"!_temp!\crvRetail.txt" if %_Retail% EQU 1 wmic path %_spp% where (ApplicationID='%_oApp%' AND LicenseStatus='1' AND PartialProductKey IS NOT NULL) get LicenseFamily %_Nul2% |findstr /V /R "^$" >"!_temp!\crvRetail.txt"
wmic path %_spp% where (ApplicationID='%_oApp%') get LicenseFamily %_Nul2% |findstr /V /R "^$" >"!_temp!\crvVolume.txt" 2>&1 wmic path %_spp% where (ApplicationID='%_oApp%') get LicenseFamily %_Nul2% |findstr /V /R "^$" >"!_temp!\crvVolume.txt" 2>&1
@ -1411,8 +1415,15 @@ if %_Retail% EQU 1 reg query %_PRIDs%\ProPlusRetail.16 %_Nul3% && (
find /i "Office16ProPlusVL_MAK" "!_temp!\crvRetail.txt" %_Nul1% && set _ProPlus=0 find /i "Office16ProPlusVL_MAK" "!_temp!\crvRetail.txt" %_Nul1% && set _ProPlus=0
) )
if %_C2rMsg% NEQ 2 for %%a in (%_RetIds%,ProPlus) do if !_%%a! EQU 1 (
set _C2rMsg=1
)
if %_C2rMsg% EQU 1 (
echo Converting Retail-to-Volume:
set _C2rMsg=2
)
if !_Mondo! EQU 1 ( if !_Mondo! EQU 1 (
echo Mondo 2016 Suite
call :InsLic Mondo call :InsLic Mondo
) )
if !_O365ProPlus! EQU 1 ( if !_O365ProPlus! EQU 1 (
@ -1446,6 +1457,7 @@ if !_Mondo! EQU 0 call :InsLic Mondo
) )
if !_O365ProPlus! EQU 1 set _O16O365=1 if !_O365ProPlus! EQU 1 set _O16O365=1
if !_Mondo! EQU 1 if !_O365ProPlus! EQU 0 ( if !_Mondo! EQU 1 if !_O365ProPlus! EQU 0 (
echo Mondo 2016 Suite
call :InsLic O365ProPlus DRNV7-VGMM2-B3G9T-4BF84-VMFTK call :InsLic O365ProPlus DRNV7-VGMM2-B3G9T-4BF84-VMFTK
if %_Office15% EQU 1 (goto :R15V) else (goto :GVLKC2R) if %_Office15% EQU 1 (goto :R15V) else (goto :GVLKC2R)
) )
@ -1583,8 +1595,14 @@ if %_Retail% EQU 1 reg query %_PR15IDs%\Active\ProPlusRetail\x-none %_Nul3% && (
find /i "OfficeProPlusVL_MAK" "!_temp!\crvRetail.txt" %_Nul1% && set _ProPlus=0 find /i "OfficeProPlusVL_MAK" "!_temp!\crvRetail.txt" %_Nul1% && set _ProPlus=0
) )
if %_C2rMsg% NEQ 2 for %%a in (%_R15Ids%,ProPlus) do if !_%%a! EQU 1 (
set _C2rMsg=1
)
if %_C2rMsg% EQU 1 (
echo Converting Retail-to-Volume:
)
if !_Mondo! EQU 1 ( if !_Mondo! EQU 1 (
echo Mondo 2013 Suite
call :Ins15Lic Mondo call :Ins15Lic Mondo
) )
if !_O365ProPlus! EQU 1 if !_O16O365! EQU 0 ( if !_O365ProPlus! EQU 1 if !_O16O365! EQU 0 (
@ -1611,6 +1629,7 @@ call :Ins15Lic O365Business MCPBN-CPY7X-3PK9R-P6GTT-H8P8Y
if !_Mondo! EQU 0 call :Ins15Lic Mondo if !_Mondo! EQU 0 call :Ins15Lic Mondo
) )
if !_Mondo! EQU 1 if !_O365ProPlus! EQU 0 if !_O16O365! EQU 0 ( if !_Mondo! EQU 1 if !_O365ProPlus! EQU 0 if !_O16O365! EQU 0 (
echo Mondo 2013 Suite
call :Ins15Lic O365ProPlus DRNV7-VGMM2-B3G9T-4BF84-VMFTK call :Ins15Lic O365ProPlus DRNV7-VGMM2-B3G9T-4BF84-VMFTK
goto :GVLKC2R goto :GVLKC2R
) )
@ -1713,7 +1732,7 @@ goto :%_sC2R%
:casVm :casVm
cls cls
mode con cols=100 lines=30 mode con cols=100 lines=32
%_Nul3% powershell -noprofile -exec bypass -c "&{$H=get-host;$W=$H.ui.rawui;$B=$W.buffersize;$B.height=300;$W.buffersize=$B;}" %_Nul3% powershell -noprofile -exec bypass -c "&{$H=get-host;$W=$H.ui.rawui;$B=$W.buffersize;$B.height=300;$W.buffersize=$B;}"
setlocal EnableDelayedExpansion setlocal EnableDelayedExpansion
echo %line2% echo %line2%
@ -1846,7 +1865,7 @@ goto :eof
:casWm :casWm
cls cls
mode con cols=100 lines=30 mode con cols=100 lines=32
%_Nul3% powershell -noprofile -exec bypass -c "&{$H=get-host;$W=$H.ui.rawui;$B=$W.buffersize;$B.height=300;$W.buffersize=$B;}" %_Nul3% powershell -noprofile -exec bypass -c "&{$H=get-host;$W=$H.ui.rawui;$B=$W.buffersize;$B.height=300;$W.buffersize=$B;}"
setlocal setlocal
set wspp=SoftwareLicensingProduct set wspp=SoftwareLicensingProduct
@ -2731,7 +2750,7 @@ set "_key=HVHB3-C6FV7-KQX9W-YQG79-CRY7T" &:: Word
exit /b exit /b
:ea509e87-07a1-4a45-9edc-eba5a39f36af :ea509e87-07a1-4a45-9edc-eba5a39f36af
set "_key=D6QFG-VBYP2-XQHM7-J97RH-VVRCK" &:: Home and Business set "_key=D6QFG-VBYP2-XQHM7-J97RH-VVRCK" &:: Small Business Basics
exit /b exit /b
:x86dll: :x86dll:
@ -3786,7 +3805,7 @@ goto :eof
:E_DLL :E_DLL
echo %_err% echo %_err%
echo File creation failed. echo "%SystemRoot%\System32\SppExtComObjHook.dll" creation failed.
echo Verify that Antivirus protection is OFF or the file path is excluded. echo Verify that Antivirus protection is OFF or the file path is excluded.
echo. echo.
echo Turn External option ON to activate via external KMS Server. echo Turn External option ON to activate via external KMS Server.