KMS_VL_ALL - Smart Activation Script



How it works?



Supported Products

Volume-capable:

Unsupported Products:

These editions are only KMS-activatable for 45 days at max:

These editions are only KMS-activatable for 30 days at max:

Notes:



Office Retail to Volume

Office Retail must be converted to Volume first, before it can be activated with KMS
this includes Office C2R 365/2019/2016/2013 installed from default image files (e.g. ProPlus2019Retail.img)

To do so, you need to use this licensing converter script:
C2R-Retail2Volume

You can use other tools that can convert licensing:

Note: only OfficeRTool support converting Office UWP (modern Windows 10 Apps).



How To Use



Activation Modes


Auto Renewal

Recommended mode, where you need to run Activate.cmd once, afterwards, the system itself handle and renew activation per schedule.

To get this mode:

If you use Antivirus software, it is best to exclude this file from scanning protection:
C:\Windows\System32\SppExtComObjHook.dll

If Windows Defender is enabled on Windows 8.1 or 10, AutoRenewal-Setup.cmd adds the required exclusion upon installation.

Additionally, on Windows 8 and later, AutoRenewal-Setup.cmd duplicate inbox system schedule task SvcRestartTaskLogon to SvcTrigger
this is just a precaution step to insure that auto renewal period is evaluated and respected, it's not directly related to activation itself, and you can manually remove it.

If you later installed Volume Office product(s), it will be auto activated in this mode.

You can remove the extracted folder contents, it is not needed after installation.

Run AutoRenewal-Setup.cmd again if you want to remove and uninstall the auto renewal solution.



Manual

Easy mode, where you only need to run Activate.cmd, without leaving any KMS emulator traces in the system.

To get this mode:

You will have to run Activate.cmd again before the KMS activation period expire.

You can run Activate.cmd anytime during that period to renew the period to the max interval.

If Activate.cmd is accidentally terminated before it completes, run the script again to clean any leftovers.



External

Standalone mode, where you only need the file Activate.cmd alone, previously refered to as "Online KMS".

You can use Activate.cmd to activate against trusted external KMS server, without needing other files or using local KMS emulator functions.

External server can be a web address, or a network IP address (e.g. for local LAN or VM).

To get this mode:

If you later installed Volume Office product(s), it will be auto activated if the external server is still available

The used server address will be left registered in the system to allow activated products to auto renew against the external server if it is still available,
otherwise, you need another manual run against new available server.

If you want to clean the server registration, run Activate.cmd in Manual mode once.
or else, use this external script: Clear-KMS-Cache



Additional Options


Unattended Switches

Activate.cmd command line switches (case-insensitive)

AutoRenewal-Setup.cmd command line switches (case-insensitive)

Notes:

Examples:


Activate.cmd /s /e /w pseudo.kms.server
Activate.cmd /d /w /o
Activate.cmd /u /x /e pseudo.kms.server
AutoRenewal-Setup.cmd /s /r /k
AutoRenewal-Setup.cmd /i /u 
AutoRenewal-Setup.cmd /s /l

    

===========


Activation Choice

Activate.cmd is set by default to process and try to activate both Windows and Office.

However, if you want to turn OFF processing Windows or Office, for whatever reason:

To do that:

Notice:
the turn OFF choice is not very effective if Windows or Office installation is already Volume (GVLK installed),
because the system itself may try to reach and KMS activate the products, specially on Windows 8 and later.

===========


Skip Windows 10 KMS 2038

Activate.cmd is set by default to check and skip Windows 10 activation if KMS 2038 is detected

However, if you want to to revert to normal KMS activation:

Notice:
if SkipKMS38 is ON, Windows will always get checked and processed, even if ActWindows is OFF.

===========


Advanced KMS Options

You can modify KMS-related options by editing Activate.cmd prior running.



Check Activation Status

You can use those scripts to check the status of Windows and Office products.

Both scripts do not require running as administrator, a double-cick to run is enough.

Check-Activation-Status.cmd:

Check-Activation-Status-Alternative.cmd:



Setup Preactivate

To preactivate the system during installation, copy $oem$ folder to sources folder in the installation media (iso/usb).

If you already use another setupcomplete.cmd, rename this one to KMS_VL_ALL.cmd or similar name
then add a command to run it in your setupcomplete.cmd, example:
call KMS_VL_ALL.cmd

Notes:



Troubleshooting

If the activation failed at first run:

For Windows 7, if have the errors described in KB4487266, execute the suggested fix.

If you got Error 0xC004F035 on Windows 7, it means your Machine is not qualified for KMS activation. For more info, see here and here.

If you got Error 0x80040154, it is mostly related to misconfigured Windows 10 KMS38 activation, rearm the system and start over, or revert to Normal KMS.

If you got Error 0xC004E015, it is mostly related to misconfigured Office retail to volume conversion, try to reinstall system licenses:
cscript //Nologo %SystemRoot%\System32\slmgr.vbs /rilc

If you got one of these Errors on Windows Server, verify that the system is properly converted from Evaluation to Retail/Volume:
0xC004E016 - 0xC004F014 - 0xC004F034

If the activation still failed after the above tips, you may enable the debug mode to help determine the reason:

Final tip, you may try to rebuild licensing Tokens.dat as suggested in KB2736303 (this may require you to repair Office afterwards).



Source Code


SppExtComObjHookAvrf

https://forums.mydigitallife.net/posts/1508167/
https://0x0.st/zPKX.7z

Visual Studio:

launch shortcut Developer Command Prompt for VS 2017 (or 2019)
execute:
MSBuild SppExtComObjHook.sln /p:configuration="Release" /p:platform="Win32"
MSBuild SppExtComObjHook.sln /p:configuration="Release" /p:platform="x64"

MinGW GCC:

download mingw-w64
Windows x86
Windows x64
both can compile 32-bit & 64-bit binaries
extract and place SppExtComObjHook folder inside mingw32 or mingw64 folder
run _compile.cmd


SppExtComObjPatcher

Visual Studio:

https://forums.mydigitallife.net/posts/1457558/
https://0x0.st/zHAP.7z

MinGW GCC:

https://forums.mydigitallife.net/posts/1462101/
https://0x0.st/zHAK.7z



Credits

namazso - SppExtComObjHook, IFEO AVrf custom provider.
qad - SppExtComObjPatcher, IFEO Debugger.
Mouri_Naruto - SppExtComObjPatcher-DLL
os51 - SppExtComObjPatcher ported to MinGW GCC, Retail/MAK checks examples.
MasterDisaster - Original script, WMI methods.
qewpal - KMS-VL-ALL script.
Windows_Addict - suggestions, ideas and documentation help.
NormieLyfe - GVLK categorize, Office checks help.
rpo - scripting suggestions and Unattended-GUI.cmd
mxman2k, BAU, presto1234 - scripting suggestions.
Nucleus, Enthousiast, s1ave77, l33tisw00t, LostED, Sajjo and MDL Community for interest, feedback and assistance.

abbodi1406 - KMS_VL_ALL author

Acknowledgements

MDL forums - the home of the latest and current emulators.
mikmik38 - first reversed source of KMSv5 and KMSv6.
CODYQX4 - easy to use KMSEmulator source.
Hotbird64 - the resourceful vlmcsd tool, and KMSEmulator source development.
cynecx - SECO Injector bypass, SppExtComObj KMS functions.
deagles - SppExtComObjHook Injector.
deagles - KMSServerService.
ColdZero - CZ VM System.
ColdZero - KMS ePID Generator.
kelorgo, bedrock - TAP adapter TunMirror bypass.
mishamosherg - WinDivert FakeClient bypass.
Duser - KMS Emulator fork.
ZWT, nosferati87, crony12, FreeStyler, Phazor - KMS Emulator development.